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
|
|
}
|
|
}
|
|
}
|