public static void Start(AdjustConfig adjustConfig) { // Thank you, Unity 2019.2.0, for breaking this. // AndroidJavaObject ajoEnvironment = adjustConfig.environment == AdjustEnvironment.Sandbox ? // new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic<AndroidJavaObject>("ENVIRONMENT_SANDBOX") : // new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic<AndroidJavaObject>("ENVIRONMENT_PRODUCTION"); // Get environment variable. string ajoEnvironment = adjustConfig.environment == AdjustEnvironment.Production ? "production" : "sandbox"; // Create adjust config object. AndroidJavaObject ajoAdjustConfig; // Check if suppress log leve is supported. if (adjustConfig.allowSuppressLogLevel != null) { ajoAdjustConfig = new AndroidJavaObject("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, ajoEnvironment, adjustConfig.allowSuppressLogLevel); } else { ajoAdjustConfig = new AndroidJavaObject("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, ajoEnvironment); } // Check if deferred deeplink should be launched by SDK. launchDeferredDeeplink = adjustConfig.launchDeferredDeeplink; // Check log level. if (adjustConfig.logLevel != null) { AndroidJavaObject ajoLogLevel; if (adjustConfig.logLevel.Value.ToUppercaseString().Equals("SUPPRESS")) { ajoLogLevel = new AndroidJavaClass("com.adjust.sdk.LogLevel").GetStatic <AndroidJavaObject>("SUPRESS"); } else { ajoLogLevel = new AndroidJavaClass("com.adjust.sdk.LogLevel").GetStatic <AndroidJavaObject>(adjustConfig.logLevel.Value.ToUppercaseString()); } if (ajoLogLevel != null) { ajoAdjustConfig.Call("setLogLevel", ajoLogLevel); } } // Set unity SDK prefix. ajoAdjustConfig.Call("setSdkPrefix", sdkPrefix); // Check if user has configured the delayed start option. if (adjustConfig.delayStart != null) { ajoAdjustConfig.Call("setDelayStart", adjustConfig.delayStart); } // Check event buffering setting. if (adjustConfig.eventBufferingEnabled != null) { AndroidJavaObject ajoIsEnabled = new AndroidJavaObject("java.lang.Boolean", adjustConfig.eventBufferingEnabled.Value); ajoAdjustConfig.Call("setEventBufferingEnabled", ajoIsEnabled); } // Check if user enabled tracking in the background. if (adjustConfig.sendInBackground != null) { ajoAdjustConfig.Call("setSendInBackground", adjustConfig.sendInBackground.Value); } // Check if user wants to get cost data in attribution callback. if (adjustConfig.needsCost != null) { ajoAdjustConfig.Call("setNeedsCost", adjustConfig.needsCost.Value); } // Check if user wants to run preinstall campaigns. if (adjustConfig.preinstallTrackingEnabled != null) { ajoAdjustConfig.Call("setPreinstallTrackingEnabled", adjustConfig.preinstallTrackingEnabled.Value); } // Check if user has set user agent value. if (adjustConfig.userAgent != null) { ajoAdjustConfig.Call("setUserAgent", adjustConfig.userAgent); } // Check if user has set default process name. if (!String.IsNullOrEmpty(adjustConfig.processName)) { ajoAdjustConfig.Call("setProcessName", adjustConfig.processName); } // Check if user has set default tracker token. if (adjustConfig.defaultTracker != null) { ajoAdjustConfig.Call("setDefaultTracker", adjustConfig.defaultTracker); } // Check if user has set external device identifier. if (adjustConfig.externalDeviceId != null) { ajoAdjustConfig.Call("setExternalDeviceId", adjustConfig.externalDeviceId); } // Check if user has set custom URL strategy. if (adjustConfig.urlStrategy != null) { if (adjustConfig.urlStrategy == AdjustConfig.AdjustUrlStrategyChina) { AndroidJavaObject ajoUrlStrategyChina = new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic <AndroidJavaObject>("URL_STRATEGY_CHINA"); ajoAdjustConfig.Call("setUrlStrategy", ajoUrlStrategyChina); } else if (adjustConfig.urlStrategy == AdjustConfig.AdjustUrlStrategyIndia) { AndroidJavaObject ajoUrlStrategyIndia = new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic <AndroidJavaObject>("URL_STRATEGY_INDIA"); ajoAdjustConfig.Call("setUrlStrategy", ajoUrlStrategyIndia); } else if (adjustConfig.urlStrategy == AdjustConfig.AdjustDataResidencyEU) { AndroidJavaObject ajoDataResidencyEU = new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic <AndroidJavaObject>("DATA_RESIDENCY_EU"); ajoAdjustConfig.Call("setUrlStrategy", ajoDataResidencyEU); } } // Check if user has set app secret. if (IsAppSecretSet(adjustConfig)) { ajoAdjustConfig.Call("setAppSecret", adjustConfig.secretId.Value, adjustConfig.info1.Value, adjustConfig.info2.Value, adjustConfig.info3.Value, adjustConfig.info4.Value); } // Check if user has set device as known. if (adjustConfig.isDeviceKnown.HasValue) { ajoAdjustConfig.Call("setDeviceKnown", adjustConfig.isDeviceKnown.Value); } // Check if user has enabled reading of IMEI and MEID. // Obsolete method. if (adjustConfig.readImei.HasValue) { // ajoAdjustConfig.Call("setReadMobileEquipmentIdentity", adjustConfig.readImei.Value); } // Check attribution changed delagate setting. if (adjustConfig.attributionChangedDelegate != null) { onAttributionChangedListener = new AttributionChangeListener(adjustConfig.attributionChangedDelegate); ajoAdjustConfig.Call("setOnAttributionChangedListener", onAttributionChangedListener); } // Check event success delegate setting. if (adjustConfig.eventSuccessDelegate != null) { onEventTrackingSucceededListener = new EventTrackingSucceededListener(adjustConfig.eventSuccessDelegate); ajoAdjustConfig.Call("setOnEventTrackingSucceededListener", onEventTrackingSucceededListener); } // Check event failure delagate setting. if (adjustConfig.eventFailureDelegate != null) { onEventTrackingFailedListener = new EventTrackingFailedListener(adjustConfig.eventFailureDelegate); ajoAdjustConfig.Call("setOnEventTrackingFailedListener", onEventTrackingFailedListener); } // Check session success delegate setting. if (adjustConfig.sessionSuccessDelegate != null) { onSessionTrackingSucceededListener = new SessionTrackingSucceededListener(adjustConfig.sessionSuccessDelegate); ajoAdjustConfig.Call("setOnSessionTrackingSucceededListener", onSessionTrackingSucceededListener); } // Check session failure delegate setting. if (adjustConfig.sessionFailureDelegate != null) { onSessionTrackingFailedListener = new SessionTrackingFailedListener(adjustConfig.sessionFailureDelegate); ajoAdjustConfig.Call("setOnSessionTrackingFailedListener", onSessionTrackingFailedListener); } // Check deferred deeplink delegate setting. if (adjustConfig.deferredDeeplinkDelegate != null) { onDeferredDeeplinkListener = new DeferredDeeplinkListener(adjustConfig.deferredDeeplinkDelegate); ajoAdjustConfig.Call("setOnDeeplinkResponseListener", onDeferredDeeplinkListener); } // Initialise and start the SDK. ajcAdjust.CallStatic("onCreate", ajoAdjustConfig); ajcAdjust.CallStatic("onResume"); }
public static void Start(AdjustConfig adjustConfig) { // Get environment variable. AndroidJavaObject ajoEnvironment = adjustConfig.environment == AdjustEnvironment.Sandbox ? new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic <AndroidJavaObject>("ENVIRONMENT_SANDBOX") : new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic <AndroidJavaObject>("ENVIRONMENT_PRODUCTION"); // Create adjust config object. AndroidJavaObject ajoAdjustConfig; // Check if suppress log leve is supported. if (adjustConfig.allowSuppressLogLevel != null) { ajoAdjustConfig = new AndroidJavaObject("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, ajoEnvironment, adjustConfig.allowSuppressLogLevel); } else { ajoAdjustConfig = new AndroidJavaObject("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, ajoEnvironment); } // Check if deferred deeplink should be launched by SDK. launchDeferredDeeplink = adjustConfig.launchDeferredDeeplink; // Check log level. if (adjustConfig.logLevel != null) { AndroidJavaObject ajoLogLevel; if (adjustConfig.logLevel.Value.ToUppercaseString().Equals("SUPPRESS")) { ajoLogLevel = new AndroidJavaClass("com.adjust.sdk.LogLevel").GetStatic <AndroidJavaObject>("SUPRESS"); } else { ajoLogLevel = new AndroidJavaClass("com.adjust.sdk.LogLevel").GetStatic <AndroidJavaObject>(adjustConfig.logLevel.Value.ToUppercaseString()); } if (ajoLogLevel != null) { ajoAdjustConfig.Call("setLogLevel", ajoLogLevel); } } // Check if user has configured the delayed start option. if (adjustConfig.delayStart != null) { ajoAdjustConfig.Call("setDelayStart", adjustConfig.delayStart); } // Check event buffering setting. if (adjustConfig.eventBufferingEnabled != null) { AndroidJavaObject ajoIsEnabled = new AndroidJavaObject("java.lang.Boolean", adjustConfig.eventBufferingEnabled.Value); ajoAdjustConfig.Call("setEventBufferingEnabled", ajoIsEnabled); } // Check if user enabled tracking in the background. if (adjustConfig.sendInBackground != null) { ajoAdjustConfig.Call("setSendInBackground", adjustConfig.sendInBackground.Value); } // Check if user has set user agent value. if (adjustConfig.userAgent != null) { ajoAdjustConfig.Call("setUserAgent", adjustConfig.userAgent); } // Check if user has set default process name. if (!String.IsNullOrEmpty(adjustConfig.processName)) { ajoAdjustConfig.Call("setProcessName", adjustConfig.processName); } // Check if user has set default tracker token. if (adjustConfig.defaultTracker != null) { ajoAdjustConfig.Call("setDefaultTracker", adjustConfig.defaultTracker); } // Check attribution changed delagate setting. if (adjustConfig.attributionChangedDelegate != null) { onAttributionChangedListener = new AttributionChangeListener(adjustConfig.attributionChangedDelegate); ajoAdjustConfig.Call("setOnAttributionChangedListener", onAttributionChangedListener); } // Check event success delegate setting. if (adjustConfig.eventSuccessDelegate != null) { onEventTrackingSucceededListener = new EventTrackingSucceededListener(adjustConfig.eventSuccessDelegate); ajoAdjustConfig.Call("setOnEventTrackingSucceededListener", onEventTrackingSucceededListener); } // Check event failure delagate setting. if (adjustConfig.eventFailureDelegate != null) { onEventTrackingFailedListener = new EventTrackingFailedListener(adjustConfig.eventFailureDelegate); ajoAdjustConfig.Call("setOnEventTrackingFailedListener", onEventTrackingFailedListener); } // Check session success delegate setting. if (adjustConfig.sessionSuccessDelegate != null) { onSessionTrackingSucceededListener = new SessionTrackingSucceededListener(adjustConfig.sessionSuccessDelegate); ajoAdjustConfig.Call("setOnSessionTrackingSucceededListener", onSessionTrackingSucceededListener); } // Check session failure delegate setting. if (adjustConfig.sessionFailureDelegate != null) { onSessionTrackingFailedListener = new SessionTrackingFailedListener(adjustConfig.sessionFailureDelegate); ajoAdjustConfig.Call("setOnSessionTrackingFailedListener", onSessionTrackingFailedListener); } // Check deferred deeplink delegate setting. if (adjustConfig.deferredDeeplinkDelegate != null) { onDeferredDeeplinkListener = new DeferredDeeplinkListener(adjustConfig.deferredDeeplinkDelegate); ajoAdjustConfig.Call("setOnDeeplinkResponseListener", onDeferredDeeplinkListener); } // Set unity SDK prefix. ajoAdjustConfig.Call("setSdkPrefix", sdkPrefix); // Since INSTALL_REFERRER is not triggering SDK initialisation, call onResume after onCreate. // OnApplicationPause doesn't get called first time the scene loads, so call to onResume is needed. // Set App Secret if (IsAppSecretSet(adjustConfig)) { ajoAdjustConfig.Call("setAppSecret", adjustConfig.secretId.Value, adjustConfig.info1.Value, adjustConfig.info2.Value, adjustConfig.info3.Value, adjustConfig.info4.Value); } // Set device known if (adjustConfig.isDeviceKnown.HasValue) { ajoAdjustConfig.Call("setDeviceKnown", adjustConfig.isDeviceKnown.Value); } if (adjustConfig.readImei.HasValue) { ajoAdjustConfig.Call("setReadMobileEquipmentIdentity", adjustConfig.readImei.Value); } // Initialise and start the SDK. ajcAdjust.CallStatic("onCreate", ajoAdjustConfig); ajcAdjust.CallStatic("onResume"); }
public static void Start(AdjustConfig adjustConfig) { AndroidJavaObject androidJavaObject = (adjustConfig.environment != 0) ? new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic <AndroidJavaObject>("ENVIRONMENT_PRODUCTION") : new AndroidJavaClass("com.adjust.sdk.AdjustConfig").GetStatic <AndroidJavaObject>("ENVIRONMENT_SANDBOX"); bool?allowSuppressLogLevel = adjustConfig.allowSuppressLogLevel; AndroidJavaObject androidJavaObject2 = (!allowSuppressLogLevel.HasValue) ? new AndroidJavaObject("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, androidJavaObject) : new AndroidJavaObject("com.adjust.sdk.AdjustConfig", ajoCurrentActivity, adjustConfig.appToken, androidJavaObject, adjustConfig.allowSuppressLogLevel); launchDeferredDeeplink = adjustConfig.launchDeferredDeeplink; AdjustLogLevel?logLevel = adjustConfig.logLevel; if (logLevel.HasValue) { AndroidJavaObject androidJavaObject3 = (!adjustConfig.logLevel.Value.ToUppercaseString().Equals("SUPPRESS")) ? new AndroidJavaClass("com.adjust.sdk.LogLevel").GetStatic <AndroidJavaObject>(adjustConfig.logLevel.Value.ToUppercaseString()) : new AndroidJavaClass("com.adjust.sdk.LogLevel").GetStatic <AndroidJavaObject>("SUPRESS"); if (androidJavaObject3 != null) { androidJavaObject2.Call("setLogLevel", androidJavaObject3); } } androidJavaObject2.Call("setSdkPrefix", "unity4.17.0"); double?delayStart = adjustConfig.delayStart; if (delayStart.HasValue) { androidJavaObject2.Call("setDelayStart", adjustConfig.delayStart); } bool?eventBufferingEnabled = adjustConfig.eventBufferingEnabled; if (eventBufferingEnabled.HasValue) { AndroidJavaObject androidJavaObject4 = new AndroidJavaObject("java.lang.Boolean", adjustConfig.eventBufferingEnabled.Value); androidJavaObject2.Call("setEventBufferingEnabled", androidJavaObject4); } bool?sendInBackground = adjustConfig.sendInBackground; if (sendInBackground.HasValue) { androidJavaObject2.Call("setSendInBackground", adjustConfig.sendInBackground.Value); } if (adjustConfig.userAgent != null) { androidJavaObject2.Call("setUserAgent", adjustConfig.userAgent); } if (!string.IsNullOrEmpty(adjustConfig.processName)) { androidJavaObject2.Call("setProcessName", adjustConfig.processName); } if (adjustConfig.defaultTracker != null) { androidJavaObject2.Call("setDefaultTracker", adjustConfig.defaultTracker); } if (IsAppSecretSet(adjustConfig)) { androidJavaObject2.Call("setAppSecret", adjustConfig.secretId.Value, adjustConfig.info1.Value, adjustConfig.info2.Value, adjustConfig.info3.Value, adjustConfig.info4.Value); } if (adjustConfig.isDeviceKnown.HasValue) { androidJavaObject2.Call("setDeviceKnown", adjustConfig.isDeviceKnown.Value); } if (adjustConfig.readImei.HasValue) { } if (adjustConfig.attributionChangedDelegate != null) { onAttributionChangedListener = new AttributionChangeListener(adjustConfig.attributionChangedDelegate); androidJavaObject2.Call("setOnAttributionChangedListener", onAttributionChangedListener); } if (adjustConfig.eventSuccessDelegate != null) { onEventTrackingSucceededListener = new EventTrackingSucceededListener(adjustConfig.eventSuccessDelegate); androidJavaObject2.Call("setOnEventTrackingSucceededListener", onEventTrackingSucceededListener); } if (adjustConfig.eventFailureDelegate != null) { onEventTrackingFailedListener = new EventTrackingFailedListener(adjustConfig.eventFailureDelegate); androidJavaObject2.Call("setOnEventTrackingFailedListener", onEventTrackingFailedListener); } if (adjustConfig.sessionSuccessDelegate != null) { onSessionTrackingSucceededListener = new SessionTrackingSucceededListener(adjustConfig.sessionSuccessDelegate); androidJavaObject2.Call("setOnSessionTrackingSucceededListener", onSessionTrackingSucceededListener); } if (adjustConfig.sessionFailureDelegate != null) { onSessionTrackingFailedListener = new SessionTrackingFailedListener(adjustConfig.sessionFailureDelegate); androidJavaObject2.Call("setOnSessionTrackingFailedListener", onSessionTrackingFailedListener); } if (adjustConfig.deferredDeeplinkDelegate != null) { onDeferredDeeplinkListener = new DeferredDeeplinkListener(adjustConfig.deferredDeeplinkDelegate); androidJavaObject2.Call("setOnDeeplinkResponseListener", onDeferredDeeplinkListener); } ajcAdjust.CallStatic("onCreate", androidJavaObject2); ajcAdjust.CallStatic("onResume"); }
public override void GetDeeplink(Tenjin.DeferredDeeplinkDelegate deferredDeeplinkDelegate) { DeferredDeeplinkListener onDeferredDeeplinkListener = new DeferredDeeplinkListener(deferredDeeplinkDelegate); tenjinJava.Call("getDeeplink", onDeferredDeeplinkListener); }