840 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			840 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| using UnityEngine;
 | |
| 
 | |
| namespace AdjustSdk
 | |
| {
 | |
|     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 and iOS 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 coppaCompliance = false;
 | |
|         [HideInInspector]
 | |
|         public bool sendInBackground = false;
 | |
|         [HideInInspector]
 | |
|         public bool launchDeferredDeeplink = true;
 | |
|         [HideInInspector]
 | |
|         public bool costDataInAttribution = false;
 | |
|         [HideInInspector]
 | |
|         public bool linkMe = false;
 | |
|         [HideInInspector]
 | |
|         public string defaultTracker;
 | |
| 
 | |
|         // [Header("ANDROID SPECIFIC FEATURES:")]
 | |
|         // [Space(5)]
 | |
|         [HideInInspector]
 | |
|         public bool preinstallTracking = false;
 | |
|         [HideInInspector]
 | |
|         public string preinstallFilePath;
 | |
| 
 | |
|         // [Header("iOS SPECIFIC FEATURES:")]
 | |
|         // [Space(5)]
 | |
|         [HideInInspector]
 | |
|         public bool adServices = true;
 | |
|         [HideInInspector]
 | |
|         public bool idfaReading = true;
 | |
|         [HideInInspector]
 | |
|         public bool skanAttribution = true;
 | |
| 
 | |
|         void Awake()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             DontDestroyOnLoad(transform.gameObject);
 | |
| 
 | |
|             // TODO: double-check the state of Unity on deep linking nowadays
 | |
| #if UNITY_ANDROID && UNITY_2019_2_OR_NEWER
 | |
|             Application.deepLinkActivated += (deeplink) =>
 | |
|             {
 | |
|                 Adjust.ProcessDeeplink(new AdjustDeeplink(deeplink));
 | |
|             };
 | |
|             if (!string.IsNullOrEmpty(Application.absoluteURL))
 | |
|             {
 | |
|                 // cold start and Application.absoluteURL not null so process deep link
 | |
|                 Adjust.ProcessDeeplink(new AdjustDeeplink(Application.absoluteURL));
 | |
|             }
 | |
| #endif
 | |
| 
 | |
|             if (!this.startManually)
 | |
|             {
 | |
|                 AdjustConfig adjustConfig = new AdjustConfig(
 | |
|                     this.appToken,
 | |
|                     this.environment,
 | |
|                     (this.logLevel == AdjustLogLevel.Suppress));
 | |
|                 adjustConfig.LogLevel = this.logLevel;
 | |
|                 adjustConfig.IsSendingInBackgroundEnabled = this.sendInBackground;
 | |
|                 adjustConfig.IsDeferredDeeplinkOpeningEnabled = this.launchDeferredDeeplink;
 | |
|                 adjustConfig.DefaultTracker = this.defaultTracker;
 | |
|                 // TODO: URL strategy
 | |
|                 adjustConfig.IsCoppaComplianceEnabled = this.coppaCompliance;
 | |
|                 adjustConfig.IsCostDataInAttributionEnabled = this.costDataInAttribution;
 | |
|                 adjustConfig.IsPreinstallTrackingEnabled = this.preinstallTracking;
 | |
|                 adjustConfig.PreinstallFilePath = this.preinstallFilePath;
 | |
|                 adjustConfig.IsAdServicesEnabled = this.adServices;
 | |
|                 adjustConfig.IsIdfaReadingEnabled = this.idfaReading;
 | |
|                 adjustConfig.IsLinkMeEnabled = this.linkMe;
 | |
|                 adjustConfig.IsSkanAttributionEnabled = this.skanAttribution;
 | |
|                 Adjust.InitSdk(adjustConfig);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public static void InitSdk(AdjustConfig adjustConfig)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             if (adjustConfig == null)
 | |
|             {
 | |
|                 Debug.Log("[Adjust]: Missing config to start.");
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.InitSdk(adjustConfig);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.InitSdk(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);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void Enable()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.Enable();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.Enable();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void Disable()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.Disable();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.Disable();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void IsEnabled(Action<bool> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.IsEnabled(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.IsEnabled(callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
|             return;
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void SwitchToOfflineMode()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.SwitchToOfflineMode();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.SwitchToOfflineMode();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void SwitchBackToOnlineMode()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.SwitchBackToOnlineMode();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.SwitchBackToOnlineMode();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void SetPushToken(string pushToken)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.SetPushToken(pushToken);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.SetPushToken(pushToken);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GdprForgetMe()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.GdprForgetMe();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.GdprForgetMe();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void ProcessDeeplink(AdjustDeeplink deeplink)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.ProcessDeeplink(deeplink);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.ProcessDeeplink(deeplink);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void AddGlobalPartnerParameter(string key, string value)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.AddGlobalPartnerParameter(key, value);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.AddGlobalPartnerParameter(key, value);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void AddGlobalCallbackParameter(string key, string value)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.AddGlobalCallbackParameter(key, value);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.AddGlobalCallbackParameter(key, value);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void RemoveGlobalPartnerParameter(string key)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.RemoveGlobalPartnerParameter(key);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.RemoveGlobalPartnerParameter(key);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void RemoveGlobalCallbackParameter(string key)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.RemoveGlobalCallbackParameter(key);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.RemoveGlobalCallbackParameter(key);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void RemoveGlobalPartnerParameters()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.RemoveGlobalPartnerParameters();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.RemoveGlobalPartnerParameters();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void RemoveGlobalCallbackParameters()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.RemoveGlobalCallbackParameters();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.RemoveGlobalCallbackParameters();
 | |
| #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);
 | |
| #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.");
 | |
| #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);
 | |
| #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);
 | |
| #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);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void RequestAppTrackingAuthorization(Action<int> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.RequestAppTrackingAuthorization(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             Debug.Log("[Adjust]: Requesting tracking authorization is only supported for iOS platform.");
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void UpdateSkanConversionValue(
 | |
|             int conversionValue,
 | |
|             string coarseValue,
 | |
|             bool lockWindow,
 | |
|             Action<string> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.UpdateSkanConversionValue(conversionValue, coarseValue, lockWindow, callback);
 | |
| #elif UNITY_ANDROID
 | |
|             Debug.Log("[Adjust]: Updating SKAdNetwork conversion value 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;
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
|             return -1;
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetAdid(Action<string> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.GetAdid(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.GetAdid(callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetAttribution(Action<AdjustAttribution> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.GetAttribution(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.GetAttribution(callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetIdfa(Action<string> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.GetIdfa(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             Debug.Log("[Adjust]: Error! IDFA is not available on Android platform.");
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetIdfv(Action<string> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.GetIdfv(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             Debug.Log("[Adjust]: Error! IDFV is not available on Android platform.");
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetGoogleAdId(Action<string> callback) 
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             Debug.Log("[Adjust]: Error! Google Advertising ID is not available on iOS platform.");
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.GetGoogleAdId(callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetAmazonAdId(Action<string> callback) 
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             Debug.Log("[Adjust]: Error! Amazon Fire Advertising ID is not available on iOS platform.");
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.GetAmazonAdId(callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetSdkVersion(Action<string> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.GetSdkVersion(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.GetSdkVersion(callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void GetLastDeeplink(Action<string> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.GetLastDeeplink(callback);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.GetLastDeeplink(callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void VerifyAppStorePurchase(
 | |
|             AdjustAppStorePurchase purchase,
 | |
|             Action<AdjustPurchaseVerificationResult> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.VerifyAppStorePurchase(purchase, callback);
 | |
| #elif UNITY_ANDROID
 | |
|             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<AdjustPurchaseVerificationResult> verificationResultCallback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             Debug.Log("[Adjust]: Play Store purchase verification is only supported for Android platform.");
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.VerifyPlayStorePurchase(purchase, verificationResultCallback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void ProcessAndResolveDeeplink(AdjustDeeplink deeplink, Action<string> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.ProcessAndResolveDeeplink(deeplink, callback);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.ProcessAndResolveDeeplink(deeplink, callback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void VerifyAndTrackAppStorePurchase(
 | |
|             AdjustEvent adjustEvent,
 | |
|             Action<AdjustPurchaseVerificationResult> callback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.VerifyAndTrackAppStorePurchase(adjustEvent, callback);
 | |
| #elif UNITY_ANDROID
 | |
|             Debug.Log("[Adjust]: App Store purchase verification is only supported for iOS platform.");
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void VerifyAndTrackPlayStorePurchase(
 | |
|             AdjustEvent adjustEvent,
 | |
|             Action<AdjustPurchaseVerificationResult> verificationResultCallback)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             Debug.Log("[Adjust]: Play Store purchase verification is only supported for Android platform.");
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.VerifyAndTrackPlayStorePurchase(adjustEvent, verificationResultCallback);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void EndFirstSessionDelay()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.EndFirstSessionDelay();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.EndFirstSessionDelay();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void EnableCoppaComplianceInDelay()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.EnableCoppaComplianceInDelay();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.EnableCoppaComplianceInDelay();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void DisableCoppaComplianceInDelay()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.DisableCoppaComplianceInDelay();
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.DisableCoppaComplianceInDelay();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void EnablePlayStoreKidsComplianceInDelay()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             Debug.Log("[Adjust]: Play Store kids feature is only supported for Android platform.");
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.EnablePlayStoreKidsComplianceInDelay();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void DisablePlayStoreKidsComplianceInDelay()
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             Debug.Log("[Adjust]: Play Store kids feature is only supported for Android platform.");
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.DisablePlayStoreKidsComplianceInDelay();
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #endif
 | |
|         }
 | |
| 
 | |
|         public static void SetExternalDeviceIdInDelay(string externalDeviceId)
 | |
|         {
 | |
|             if (IsEditor())
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
| #if UNITY_IOS
 | |
|             AdjustiOS.SetExternalDeviceIdInDelay(externalDeviceId);
 | |
| #elif UNITY_ANDROID
 | |
|             AdjustAndroid.SetExternalDeviceIdInDelay(externalDeviceId);
 | |
| #else
 | |
|             Debug.Log(errorMsgPlatform);
 | |
| #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);
 | |
| #else
 | |
|             Debug.Log("[Adjust]: Cannot run integration tests. None of the supported platforms selected.");
 | |
| #endif
 | |
|         }
 | |
|     }
 | |
| }
 |