1212 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			1212 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			C#
		
	
	
| 
								 | 
							
								using System;
							 | 
						||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						||
| 
								 | 
							
								using UnityEngine;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace com.adjust.sdk
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public class Adjust : MonoBehaviour
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        private const string errorMsgEditor = "[Adjust]: SDK can not be used in Editor.";
							 | 
						||
| 
								 | 
							
								        private const string errorMsgStart = "[Adjust]: SDK not started. Start it manually using the 'start' method.";
							 | 
						||
| 
								 | 
							
								        private const string errorMsgPlatform = "[Adjust]: SDK can only be used in Android, iOS, Windows Phone 8.1, Windows Store or Universal Windows apps.";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // [Header("SDK SETTINGS:")]
							 | 
						||
| 
								 | 
							
								        // [Space(5)]
							 | 
						||
| 
								 | 
							
								        // [Tooltip("If selected, it is expected from you to initialize Adjust SDK from your app code. " +
							 | 
						||
| 
								 | 
							
								        //     "Any SDK configuration settings from prefab will be ignored in that case.")]
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool startManually = true;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public string appToken;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public AdjustEnvironment environment = AdjustEnvironment.Sandbox;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public AdjustLogLevel logLevel = AdjustLogLevel.Info;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool eventBuffering = false;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool sendInBackground = false;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool launchDeferredDeeplink = true;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool needsCost = false;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool coppaCompliant = false;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool linkMe = false;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public string defaultTracker;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public AdjustUrlStrategy urlStrategy = AdjustUrlStrategy.Default;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public double startDelay = 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // [Header("APP SECRET:")]
							 | 
						||
| 
								 | 
							
								        // [Space(5)]
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public long secretId = 0;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public long info1 = 0;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public long info2 = 0;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public long info3 = 0;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public long info4 = 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // [Header("ANDROID SPECIFIC FEATURES:")]
							 | 
						||
| 
								 | 
							
								        // [Space(5)]
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool preinstallTracking = false;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public string preinstallFilePath;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool playStoreKidsApp = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // [Header("iOS SPECIFIC FEATURES:")]
							 | 
						||
| 
								 | 
							
								        // [Space(5)]
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool adServicesInfoReading = true;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool idfaInfoReading = true;
							 | 
						||
| 
								 | 
							
								        [HideInInspector]
							 | 
						||
| 
								 | 
							
								        public bool skAdNetworkHandling = true;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								        // Delegate references for iOS callback triggering
							 | 
						||
| 
								 | 
							
								        private static List<Action<int>> authorizationStatusDelegates = null;
							 | 
						||
| 
								 | 
							
								        private static Action<string> deferredDeeplinkDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<AdjustEventSuccess> eventSuccessDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<AdjustEventFailure> eventFailureDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<AdjustSessionSuccess> sessionSuccessDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<AdjustSessionFailure> sessionFailureDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<AdjustAttribution> attributionChangedDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<int> conversionValueUpdatedDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<int, string, bool> skad4ConversionValueUpdatedDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<string> skadUpdateConversionValueDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<string> skad4UpdateConversionValueDelegate = null;
							 | 
						||
| 
								 | 
							
								        private static Action<AdjustPurchaseVerificationInfo> verificationInfoDelegate = null;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        void Awake()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            DontDestroyOnLoad(transform.gameObject);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_ANDROID && UNITY_2019_2_OR_NEWER
							 | 
						||
| 
								 | 
							
								            Application.deepLinkActivated += Adjust.appWillOpenUrl;
							 | 
						||
| 
								 | 
							
								            if (!string.IsNullOrEmpty(Application.absoluteURL))
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                // Cold start and Application.absoluteURL not null so process Deep Link.
							 | 
						||
| 
								 | 
							
								                Adjust.appWillOpenUrl(Application.absoluteURL);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (!this.startManually)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                AdjustConfig adjustConfig = new AdjustConfig(this.appToken, this.environment, (this.logLevel == AdjustLogLevel.Suppress));
							 | 
						||
| 
								 | 
							
								                adjustConfig.setLogLevel(this.logLevel);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setSendInBackground(this.sendInBackground);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setEventBufferingEnabled(this.eventBuffering);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setLaunchDeferredDeeplink(this.launchDeferredDeeplink);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setDefaultTracker(this.defaultTracker);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setUrlStrategy(this.urlStrategy.ToLowerCaseString());
							 | 
						||
| 
								 | 
							
								                adjustConfig.setAppSecret(this.secretId, this.info1, this.info2, this.info3, this.info4);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setDelayStart(this.startDelay);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setNeedsCost(this.needsCost);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setPreinstallTrackingEnabled(this.preinstallTracking);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setPreinstallFilePath(this.preinstallFilePath);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setAllowAdServicesInfoReading(this.adServicesInfoReading);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setAllowIdfaReading(this.idfaInfoReading);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setCoppaCompliantEnabled(this.coppaCompliant);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setPlayStoreKidsAppEnabled(this.playStoreKidsApp);
							 | 
						||
| 
								 | 
							
								                adjustConfig.setLinkMeEnabled(this.linkMe);
							 | 
						||
| 
								 | 
							
								                if (!skAdNetworkHandling)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    adjustConfig.deactivateSKAdNetworkHandling();
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                Adjust.start(adjustConfig);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        void OnApplicationPause(bool pauseStatus)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								                // No action, iOS SDK is subscribed to iOS lifecycle notifications.
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								                if (pauseStatus)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    AdjustAndroid.OnPause();
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                else
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    AdjustAndroid.OnResume();
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								                if (pauseStatus)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    AdjustWindows.OnPause();
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                else
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    AdjustWindows.OnResume();
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								                Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void start(AdjustConfig adjustConfig)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (adjustConfig == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Missing config to start.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Adjust.eventSuccessDelegate = adjustConfig.getEventSuccessDelegate();
							 | 
						||
| 
								 | 
							
								            Adjust.eventFailureDelegate = adjustConfig.getEventFailureDelegate();
							 | 
						||
| 
								 | 
							
								            Adjust.sessionSuccessDelegate = adjustConfig.getSessionSuccessDelegate();
							 | 
						||
| 
								 | 
							
								            Adjust.sessionFailureDelegate = adjustConfig.getSessionFailureDelegate();
							 | 
						||
| 
								 | 
							
								            Adjust.deferredDeeplinkDelegate = adjustConfig.getDeferredDeeplinkDelegate();
							 | 
						||
| 
								 | 
							
								            Adjust.attributionChangedDelegate = adjustConfig.getAttributionChangedDelegate();
							 | 
						||
| 
								 | 
							
								            Adjust.conversionValueUpdatedDelegate = adjustConfig.getConversionValueUpdatedDelegate();
							 | 
						||
| 
								 | 
							
								            Adjust.skad4ConversionValueUpdatedDelegate = adjustConfig.getSkad4ConversionValueUpdatedDelegate();
							 | 
						||
| 
								 | 
							
								            AdjustiOS.Start(adjustConfig);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.Start(adjustConfig);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.Start(adjustConfig);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void trackEvent(AdjustEvent adjustEvent)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (adjustEvent == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Missing event to track.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.TrackEvent(adjustEvent);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.TrackEvent(adjustEvent);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.TrackEvent(adjustEvent);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void setEnabled(bool enabled)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.SetEnabled(enabled);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.SetEnabled(enabled);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.SetEnabled(enabled);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static bool isEnabled()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return false;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.IsEnabled();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            return AdjustAndroid.IsEnabled();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            return AdjustWindows.IsEnabled();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return false;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void setOfflineMode(bool enabled)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.SetOfflineMode(enabled);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.SetOfflineMode(enabled);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.SetOfflineMode(enabled);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void setDeviceToken(string deviceToken)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.SetDeviceToken(deviceToken);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.SetDeviceToken(deviceToken);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.SetDeviceToken(deviceToken);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void gdprForgetMe()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.GdprForgetMe();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.GdprForgetMe();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.GdprForgetMe();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void disableThirdPartySharing()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.DisableThirdPartySharing();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.DisableThirdPartySharing();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Disable third party sharing is only supported for Android and iOS platforms.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void appWillOpenUrl(string url)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.AppWillOpenUrl(url);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.AppWillOpenUrl(url);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.AppWillOpenUrl(url);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void sendFirstPackages()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.SendFirstPackages();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.SendFirstPackages();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.SendFirstPackages();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void addSessionPartnerParameter(string key, string value)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.AddSessionPartnerParameter(key, value);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.AddSessionPartnerParameter(key, value);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.AddSessionPartnerParameter(key, value);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void addSessionCallbackParameter(string key, string value)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.AddSessionCallbackParameter(key, value);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.AddSessionCallbackParameter(key, value);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.AddSessionCallbackParameter(key, value);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void removeSessionPartnerParameter(string key)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.RemoveSessionPartnerParameter(key);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.RemoveSessionPartnerParameter(key);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.RemoveSessionPartnerParameter(key);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void removeSessionCallbackParameter(string key)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.RemoveSessionCallbackParameter(key);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.RemoveSessionCallbackParameter(key);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.RemoveSessionCallbackParameter(key);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void resetSessionPartnerParameters()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.ResetSessionPartnerParameters();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.ResetSessionPartnerParameters();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.ResetSessionPartnerParameters();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void resetSessionCallbackParameters()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.ResetSessionCallbackParameters();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.ResetSessionCallbackParameters();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.ResetSessionCallbackParameters();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void trackAdRevenue(string source, string payload)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.TrackAdRevenue(source, payload);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.TrackAdRevenue(source, payload);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Ad revenue tracking is only supported for Android and iOS platforms.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void trackAdRevenue(AdjustAdRevenue adRevenue)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.TrackAdRevenue(adRevenue);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.TrackAdRevenue(adRevenue);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Ad revenue tracking is only supported for Android and iOS platforms.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void trackAppStoreSubscription(AdjustAppStoreSubscription subscription)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.TrackAppStoreSubscription(subscription);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: App Store subscription tracking is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: App Store subscription tracking is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void trackPlayStoreSubscription(AdjustPlayStoreSubscription subscription)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Play Store subscription tracking is only supported for Android platform.");
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.TrackPlayStoreSubscription(subscription);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Play Store subscription tracking is only supported for Android platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void trackThirdPartySharing(AdjustThirdPartySharing thirdPartySharing)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.TrackThirdPartySharing(thirdPartySharing);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.TrackThirdPartySharing(thirdPartySharing);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Third party sharing tracking is only supported for iOS and Android platforms.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void trackMeasurementConsent(bool measurementConsent)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.TrackMeasurementConsent(measurementConsent);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.TrackMeasurementConsent(measurementConsent);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Measurement consent tracking is only supported for iOS and Android platforms.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void requestTrackingAuthorizationWithCompletionHandler(Action<int> statusCallback, string sceneName = "Adjust")
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            if (Adjust.authorizationStatusDelegates == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Adjust.authorizationStatusDelegates = new List<Action<int>>();
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            Adjust.authorizationStatusDelegates.Add(statusCallback);
							 | 
						||
| 
								 | 
							
								            AdjustiOS.RequestTrackingAuthorizationWithCompletionHandler(sceneName);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Requesting tracking authorization is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Requesting tracking authorization is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void updateConversionValue(int conversionValue)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.UpdateConversionValue(conversionValue);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Updating SKAdNetwork conversion value is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Updating SKAdNetwork conversion value is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void updateConversionValue(int conversionValue, Action<string> completionCallback, string sceneName = "Adjust")
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Adjust.skadUpdateConversionValueDelegate = completionCallback;
							 | 
						||
| 
								 | 
							
								            AdjustiOS.UpdateConversionValue(conversionValue, sceneName);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Updating SKAdNetwork conversion value is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Updating SKAdNetwork conversion value is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void updateConversionValue(int conversionValue, string coarseValue, bool lockWindow, Action<string> completionCallback, string sceneName = "Adjust")
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Adjust.skad4UpdateConversionValueDelegate = completionCallback;
							 | 
						||
| 
								 | 
							
								            AdjustiOS.UpdateConversionValue(conversionValue, coarseValue, lockWindow, sceneName);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Updating SKAdNetwork conversion value is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Updating SKAdNetwork conversion value is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void checkForNewAttStatus()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.CheckForNewAttStatus();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Checking for new ATT status is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Checking for new ATT status is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static int getAppTrackingAuthorizationStatus()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return -1;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.GetAppTrackingAuthorizationStatus();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! App tracking authorization status is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								            return -1;
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! App tracking authorization status is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								            return -1;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return -1;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static string getAdid()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return string.Empty;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.GetAdid();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            return AdjustAndroid.GetAdid();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            return AdjustWindows.GetAdid();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static AdjustAttribution getAttribution()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return null;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.GetAttribution();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            return AdjustAndroid.GetAttribution();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            return AdjustWindows.GetAttribution();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return null;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static string getWinAdid()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return string.Empty;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! Windows Advertising ID is not available on iOS platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! Windows Advertising ID is not available on Android platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            return AdjustWindows.GetWinAdId();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static string getIdfa()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return string.Empty;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.GetIdfa();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! IDFA is not available on Android platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! IDFA is not available on Windows platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static string getIdfv()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return string.Empty;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.GetIdfv();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! IDFV is not available on Android platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! IDFV is not available on Windows platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static string getSdkVersion()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return string.Empty;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.GetSdkVersion();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            return AdjustAndroid.GetSdkVersion();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            return AdjustWindows.GetSdkVersion();
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        [Obsolete("This method is intended for testing purposes only. Do not use it.")]
							 | 
						||
| 
								 | 
							
								        public static void setReferrer(string referrer)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Install referrer is not available on iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.SetReferrer(referrer);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! Install referrer is not available on Windows platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void getGoogleAdId(Action<string> onDeviceIdsRead)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Google Play Advertising ID is not available on iOS platform.");
							 | 
						||
| 
								 | 
							
								            onDeviceIdsRead(string.Empty);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.GetGoogleAdId(onDeviceIdsRead);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Google Play Advertising ID is not available on Windows platform.");
							 | 
						||
| 
								 | 
							
								            onDeviceIdsRead(string.Empty);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static string getAmazonAdId()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return string.Empty;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Amazon Advertising ID is not available on iOS platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            return AdjustAndroid.GetAmazonAdId();
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Amazon Advertising ID not available on Windows platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static string getLastDeeplink()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return string.Empty;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            return AdjustiOS.GetLastDeeplink();
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! Last deeplink getter is not available on Android platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Error! Last deeplink getter is not available on Windows platform.");
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								            return string.Empty;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void verifyAppStorePurchase(
							 | 
						||
| 
								 | 
							
								            AdjustAppStorePurchase purchase,
							 | 
						||
| 
								 | 
							
								            Action<AdjustPurchaseVerificationInfo> verificationInfoDelegate,
							 | 
						||
| 
								 | 
							
								            string sceneName = "Adjust")
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            if (purchase == null ||
							 | 
						||
| 
								 | 
							
								                purchase.transactionId == null ||
							 | 
						||
| 
								 | 
							
								                purchase.productId == null ||
							 | 
						||
| 
								 | 
							
								                purchase.receipt == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Invalid App Store purchase parameters.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            Adjust.verificationInfoDelegate = verificationInfoDelegate;
							 | 
						||
| 
								 | 
							
								            AdjustiOS.VerifyAppStorePurchase(purchase, sceneName);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: App Store purchase verification is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: App Store purchase verification is only supported for iOS platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void verifyPlayStorePurchase(
							 | 
						||
| 
								 | 
							
								            AdjustPlayStorePurchase purchase,
							 | 
						||
| 
								 | 
							
								            Action<AdjustPurchaseVerificationInfo> verificationInfoDelegate)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Play Store purchase verification is only supported for Android platform.");
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            if (purchase == null ||
							 | 
						||
| 
								 | 
							
								                purchase.productId == null ||
							 | 
						||
| 
								 | 
							
								                purchase.purchaseToken == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Invalid Play Store purchase parameters.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.VerifyPlayStorePurchase(purchase, verificationInfoDelegate);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Play Store purchase verification is only supported for Android platform.");
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgPlatform);
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								        public void GetNativeAttribution(string attributionData)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.attributionChangedDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Attribution changed delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            var attribution = new AdjustAttribution(attributionData);
							 | 
						||
| 
								 | 
							
								            Adjust.attributionChangedDelegate(attribution);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeEventSuccess(string eventSuccessData)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.eventSuccessDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Event success delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            var eventSuccess = new AdjustEventSuccess(eventSuccessData);
							 | 
						||
| 
								 | 
							
								            Adjust.eventSuccessDelegate(eventSuccess);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeEventFailure(string eventFailureData)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.eventFailureDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Event failure delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            var eventFailure = new AdjustEventFailure(eventFailureData);
							 | 
						||
| 
								 | 
							
								            Adjust.eventFailureDelegate(eventFailure);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeSessionSuccess(string sessionSuccessData)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.sessionSuccessDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Session success delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            var sessionSuccess = new AdjustSessionSuccess(sessionSuccessData);
							 | 
						||
| 
								 | 
							
								            Adjust.sessionSuccessDelegate(sessionSuccess);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeSessionFailure(string sessionFailureData)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.sessionFailureDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Session failure delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            var sessionFailure = new AdjustSessionFailure(sessionFailureData);
							 | 
						||
| 
								 | 
							
								            Adjust.sessionFailureDelegate(sessionFailure);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeDeferredDeeplink(string deeplinkURL)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.deferredDeeplinkDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Deferred deeplink delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            Adjust.deferredDeeplinkDelegate(deeplinkURL);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeConversionValueUpdated(string conversionValue)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.conversionValueUpdatedDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Conversion value updated delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            int cv = -1;
							 | 
						||
| 
								 | 
							
								            if (Int32.TryParse(conversionValue, out cv))
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                if (cv != -1)
							 | 
						||
| 
								 | 
							
								                {
							 | 
						||
| 
								 | 
							
								                    Adjust.conversionValueUpdatedDelegate(cv);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeSkad4ConversionValueUpdated(string conversionValueUpdate)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.skad4ConversionValueUpdatedDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: SKAD4 Conversion value updated delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            int conversionValue = AdjustUtils.GetSkad4ConversionValue(conversionValueUpdate);
							 | 
						||
| 
								 | 
							
								            string coarseValue = AdjustUtils.GetSkad4CoarseValue(conversionValueUpdate);
							 | 
						||
| 
								 | 
							
								            bool lockWindow = AdjustUtils.GetSkad4LockWindow(conversionValueUpdate);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            Adjust.skad4ConversionValueUpdatedDelegate(conversionValue, coarseValue, lockWindow);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeSkadCompletionDelegate(string message)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.skadUpdateConversionValueDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: SKAD completion delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (message != null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Adjust.skadUpdateConversionValueDelegate(message);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeSkad4CompletionDelegate(string message)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.skad4UpdateConversionValueDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: SKAD4 completion delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (message != null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Adjust.skad4UpdateConversionValueDelegate(message);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetAuthorizationStatus(string authorizationStatus)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.authorizationStatusDelegates == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Authorization status delegates were not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            foreach (Action<int> callback in Adjust.authorizationStatusDelegates)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                callback(Int16.Parse(authorizationStatus));
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            Adjust.authorizationStatusDelegates.Clear();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public void GetNativeVerificationInfo(string verificationInfoData)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if (Adjust.verificationInfoDelegate == null)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                Debug.Log("[Adjust]: Purchase verification info delegate was not set.");
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            var verificationInfo = new AdjustPurchaseVerificationInfo(verificationInfoData);
							 | 
						||
| 
								 | 
							
								            Adjust.verificationInfoDelegate(verificationInfo);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        private static bool IsEditor()
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								#if UNITY_EDITOR
							 | 
						||
| 
								 | 
							
								            Debug.Log(errorMsgEditor);
							 | 
						||
| 
								 | 
							
								            return true;
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            return false;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public static void SetTestOptions(Dictionary<string, string> testOptions)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (IsEditor())
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                return;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if UNITY_IOS
							 | 
						||
| 
								 | 
							
								            AdjustiOS.SetTestOptions(testOptions);
							 | 
						||
| 
								 | 
							
								#elif UNITY_ANDROID
							 | 
						||
| 
								 | 
							
								            AdjustAndroid.SetTestOptions(testOptions);
							 | 
						||
| 
								 | 
							
								#elif (UNITY_WSA || UNITY_WP8)
							 | 
						||
| 
								 | 
							
								            AdjustWindows.SetTestOptions(testOptions);
							 | 
						||
| 
								 | 
							
								#else
							 | 
						||
| 
								 | 
							
								            Debug.Log("[Adjust]: Cannot run integration tests. None of the supported platforms selected.");
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |