操作前须知
在更新到 SDK v5 之前,您需要进行以下操作:
-
SDK v5 支持SDK 签名验证。如果您当前正在使用 SDK 签名库,则需要先将其卸载。
-
SDK v5 支持的最低 API 版本已更新。如果您的应用目标版本较低,请先进行更新。
- iOS: 12.0
- 安卓: 21
-
SDK 命名空间已从
com.adjust.sdk
重命名为AdjustSdk
。
安装 SDK
在安装 SDK v5 之前,请先从项目中移除所有 SDK v4 资源和代码。
如果您希望将变更附加至现有项目,请按照下列步骤操作,移除所有 Adjust SDK v4 资源:
-
删除
Assets
目录中现有的Adjust
安装。 -
从 Xcode 项目中删除所有对
Adjust
的引用。- 删除项目 Libraries 部分下的
Adjust
目录。 - 打开 General 选项卡,删除 Frameworks, Libraries, and Embedded Content 下的
Adjust.a
库。 - 可选 : SDK v4 会在应用目标的 Other Linker Flags 设置下添加
-ObjC
标记。只有在 SDK 自动添加的情况下才能移除此标记。
- 删除项目 Libraries 部分下的
-
请删除 Android Studio 项目中所有对
Adjust
的引用。- 在项目的
libs
目录中找到并删除adjust-android.jar
库。
- 在项目的
从项目中移除所有 SDK v4 资源后,您就可以安装 SDK v5 了。为此您可以选择:
- 从GitHub 发布页面下载 Adjust
unitypackage
并将其导入您的项目。 - 使用 Unity Package Manager 安装包:
- 在 Unity 编辑器中选择 Package Manager 窗口。
- 选择 Add package from git URL 。
- 输入以下 URL:
https://github.com/adjust/unity_sdk.git?path=Assets/Adjust
.
安装 iOS 和安卓 SDK
SDK v5 不再使用 iOS 和安卓 SDK 作为二进制依赖。要安装底层 iOS 和安卓 SDK,您需要使用External Dependency Manager for Unity (EDM4U)从 CocoaPods 和 Maven 安装包。
更新初始化方法
在 SDK v4 中,SDK 的初始化方法是配置AdjustConfig
对象并将其传递至Adjust.start()
方法。
AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);Adjust.start(adjustConfig);
在 SDK v5 中,该方法已重命名为Adjust.InitSdk()
。
AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);Adjust.InitSdk(adjustConfig);
设置签名库
SDK v5 包含 SDK 签名库。您可以按照签名库集成指南中的测试步骤对此进行测试。
签名保护功能默认处于禁用状态。要启用该功能,您需要:
- 执行签名验证。
- 在测试前提供应用的 SHA-1 指纹。
变更 API
SDK v5 中变更了下列 API。
设置日志级别
在 SDK v4 中,您可以通过向AdjustConfig.setLogLevel()
方法传递AdjustLogLevel
常量来设置日志级别。
adjustConfig.setLogLevel(AdjustLogLevel.Verbose);
在 SDK v5 中,您需要为AdjustConfig
实例的LogLevel
属性指定一个AdjustLogLevel
常量。
adjustConfig.LogLevel = AdjustLogLevel.Verbose;
禁用或启用 SDK
在 SDK v4 中,您可以通过调用带bool
值的Adjust.setEnabled()
来启用和禁用 SDK。
- 调用
Adjust.setEnabled(false)
来禁用 SDK。 - 调用
Adjust.setEnabled(true)
来启用 SDK。
Adjust.setEnabled(false); // Disable the SDKAdjust.setEnabled(true); // Enable the SDK
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust.Disable()
来禁用 SDK。 - 调用
Adjust.Enable()
来启用 SDK。
Adjust.Disable(); // Disable the SDKAdjust.Enable(); // Enable the SDK
在后台发送信息
在 SDK v4 中,您可以使用true
参数调用AdjustConfig.setSendInBackground()
方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。
adjustConfig.setSendInBackground(true);
在 SDK v5 中,您需要将AdjustConfig
实例上的IsSendingInBackgroundEnabled
属性设置为true
,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。
adjustConfig.IsSendingInBackgroundEnabled = true;
预安装应用监测
在 SDK v4 中,您可以使用AdjustConfig.setPreinstallTrackingEnabled
方法启用对预安装应用的监测。
adjustConfig.setPreinstallTrackingEnabled(true);
在 SDK v5 中,您需要将AdjustConfig
实例的IsPreinstallTrackingEnabled
属性设置为true
。
adjustConfig.IsPreinstallTrackingEnabled = true;
在 SDK v4 中,您可以使用AdjustConfig.setPreinstallFilePath
方法配置包含预安装应用信息的路径。
adjustConfig.setPreinstallFilePath("path");
在 SDK v5 中,您需要将AdjustConfig
实例的PreinstallFilePath
属性设置为包含预安装应用信息的文件路径。
adjustConfig.PreinstallFilePath = "path";
在 SDK v4 中,您可以使用AdjustConfig.setDefaultTracker()
方法设置默认链接识别码来监测预安装应用的安装。
adjustConfig.setDefaultTracker("abc123");
在 SDK v5 中,您需要将链接直接指定给AdjustConfig
实例的DefaultTracker
属性。
adjustConfig.DefaultTracker = "abc123";
设置外部设备 ID
在 SDK v4 中,您可以通过向AdjustConfig.setExternalDeviceId()
方法传递 ID 来设置外部设备 ID。
adjustConfig.setExternalDeviceId("unique-custom-device-id");
在 SDK v5 中,您需要直接将 ID 指定至AdjustConfig
实例的ExternalDeviceID
属性。
adjustConfig.ExternalDeviceId = "unique-custom-device-id";
设置 Meta App ID
在SDK v4 中,您可以使用 AdjustConfig.setFbAppId()
方法设置 Meta App ID。
adjustConfig.setFbAppId("fb-app-id");
在 SDK v5 中,您需要将 Meta App ID 指定至AdjustConfig
实例的FbAppId
属性。
adjustConfig.FbAppId = "fb-app-id";
禁用 AdServices 信息读取
在 SDK v4 中,您可以使用false
参数调用AdjustConfig.setAllowAdServicesInfoReading()
方法来阻止 Adjust SDK 读取 AdServices 信息。
adjustConfig.setAllowAdServicesInfoReading(false);
在 SDK v5 中,您需要将AdjustConfig
实例的IsAdServicesEnabled
属性设置为false
,以防止 Adjust SDK 读取 AdServices 信息。
adjustConfig.IsAdServicesEnabled = false;
禁用 IDFA 读取
在 SDK v4 中,您可以使用false
参数调用AdjustConfig.setAllowIdfaReading()
方法来阻止 Adjust SDK 读取设备的 IDFA。
adjustConfig.setAllowIdfaReading(false);
在 SDK v5 中,您需要将AdjustConfig
实例的IsIdfaReadingEnabled
属性设置为false
,以防止 Adjust SDK 读取设备的 IDFA。
adjustConfig.IsIdfaReadingEnabled = false;
在归因中启用成本数据
在 SDK v4 中,您可以通过调用带true
参数的Adjust.setNeedsCost()
方法在设备归因信息中启用成本数据。
adjustConfig.setNeedsCost(true);
在 SDK v5 中,您需要将AdjustConfig
实例的IsCostDataInAttributionEnabled
属性设置为true
,才能在设备的归因信息中包含成本数据。
adjustConfig.IsCostDataInAttributionEnabled = true;
启用 LinkMe
在 SDK v4 中,您可以通过调用带有true
参数的AdjustConfig.setLinkMeEnabled()
方法来启用Adjust LinkMe 。
adjustConfig.setLinkMeEnabled(true);
在 SDK v5 中,您需要将AdjustConfig
实例的IsLinkMeEnabled
属性设置为true
,才能启用 LinkMe。
adjustConfig.IsLinkMeEnabled = true;
只读取设备 ID 一次
在 SDK v4 中,您可以通过调用带有true
参数的AdjustConfig.setReadDeviceInfoOnceEnabled()
方法来指示 SDK 在启动时仅读取一次设备标识符。
adjustConfig.setReadDeviceInfoOnceEnabled(true);
在 SDK v5 中,您需要将AdjustConfig
实例的IsDeviceIdsReadingOnceEnabled
属性设置为true
,以指示 SDK 只读取设备 ID 一次。
adjustConfig.IsDeviceIdsReadingOnceEnabled = true;
离线模式
在 SDK v4 中,您可以通过调用带bool
参数的Adjust.setOfflineMode()
来启用和禁用 SDK 离线模式。
Adjust.setOfflineMode(true);Adjust.setOfflineMode(false);
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust.SwitchToOfflineMode()
将 SDK 设为离线模式。 - 调用
Adjust.SwitchBackToOnlineMode()
将 SDK 重新设为在线模式。
Adjust.SwitchToOfflineMode(); // Put the SDK in offline modeAdjust.SwitchBackToOnlineMode(); // Put the SDK back in online mode
推送标签
在SDK v4 中,您可以使用 Adjust.setDeviceToken
方法设置推送标签 (Push token)。
Adjust.setDeviceToken("push-token");
在 SDK v5 中,该方法已重命名为Adjust.SetPushToken
。
Adjust.SetPushToken("push-token");
会话回传参数
在 SDK v4 中,您可以通过传递键值对至Adjust.addSessionCallbackParameter()
方法来添加会话参数,也可以使用Adjust.removeSessionCallbackParameter()
方法移除单个参数。
Adjust.addSessionCallbackParameter("key", "value");Adjust.removeSessionCallbackParameter("key");Adjust.resetSessionCallbackParameters();
在 SDK v5 中,会话参数被重命名为统一参数。
Adjust.AddGlobalCallbackParameter("key", "value");Adjust.RemoveGlobalCallbackParameter("key");Adjust.RemoveGlobalCallbackParameters();
会话合作伙伴参数
在 SDK v4 中,您可以通过传递键值对至Adjust.addSessionPartnerParameter()
方法来添加会话合作伙伴参数,也可以使用Adjust.removeSessionPartnerParameter()
方法移除单个参数。
Adjust.addSessionPartnerParameter("key", "value");Adjust.removeSessionPartnerParameter("key");Adjust.resetSessionPartnerParameters();
在 SDK v5 中,会话合作伙伴参数被重命名为统一合作伙伴参数。
Adjust.AddGlobalPartnerParameter("key", "value");Adjust.RemoveGlobalPartnerParameter("key");Adjust.RemoveGlobalPartnerParameters();
成功和失败回传
在 SDK v4 中,您可以通过分别向AdjustConfig.setSessionSuccessDelegate()
和AdjustConfig.setSessionFailureDelegate()
方法传递委托函数来配置会话成功和失败回传。
adjustConfig.setSessionSuccessDelegate(sessionSuccessCallback); // Session success callbackadjustConfig.setFailureSuccessDelegate(sessionFailureCallback); // Session failure callback
在 SDK v5 中,您需要将AdjustConfig
实例的SessionSuccessDelegate
和SessionFailureDelegate
属性设置为相关委托函数。
adjustConfig.SessionSuccessDelegate = sessionSuccessCallback; // Session success callbackadjustConfig.SessionFailureDelegate = sessionFailureCallback; // Session failure callback
事件成功和失败回传也发生了同样的变化。在 SDK v4 中,设置方法是分别向AdjustConfig.setSessionSuccessDelegate()
和AdjustConfig.setSessionFailureDelegate()
方法传递委托函数。
adjustConfig.setEventSuccessDelegate(eventSuccessCallback); // Event success callbackadjustConfig.setEventFailureDelegate(eventFailureCallback); // Event failure callback
在 SDK v5 中,您需要将AdjustConfig
实例的EventSuccessDelegate
和EventFailureDelegate
属性设置为相关委托函数。
adjustConfig.EventSuccessDelegate = eventSuccessCallback; // Event success callbackadjustConfig.EventFailureDelegate = eventFailureCallback; // Event failure callback
App Store 订阅
应直接在 SDK v5 中设置以下类属性:
TransactionDate
SalesRegion
以下 setter 已被重命名:
addCallbackParameter
->AddCallbackParameter
addCallbackParameter
->AddPartnerParameter
以下是变更内容的完整示例:
AdjustAppStoreSubscription subscription = new AdjustAppStoreSubscription( price, currency, transactionId, receipt); transactionId); subscription.setTransactionDate("transaction-date"); subscription.setSalesRegion("sales-region"); subscription.addCallbackParameter("key1", "value1"); subscription.addPartnerParameter("key2", "value2");
subscription.TransactionDate = "transaction-date"; subscription.SalesRegion = "sales-region"; subscription.AddCallbackParameter("key1", "value1"); subscription.AddPartnerParameter("key2", "value2");
Adjust.trackAppStoreSubscription(subscription);
Play 商店订阅
应直接在 SDK v5 中设置以下类属性:
PurchaseTime
以下 setter 已被重命名:
addCallbackParameter
->AddCallbackParameter
addCallbackParameter
->AddPartnerParameter
以下是变更内容的完整示例:
AdjustPlayStoreSubscription subscription = new AdjustPlayStoreSubscription( price, currency, sku, orderId, signature, purchaseToken); subscription.setPurchaseTime(purchaseTime); subscription.addCallbackParameter("key1", "value1"); subscription.addPartnerParameter("key2", "value2");
subscription.PurchaseTime = purchaseTime subscription.AddCallbackParameter("key1", "value1"); subscription.AddPartnerParameter("key2", "value2");
Adjust.trackPlayStoreSubscription(subscription);
AdjustEvent 类
应直接在 SDK v5 中设置以下类属性:
CallbackId
TransactionId
ProductId
PurchaseToken
以下 setter 已被重命名:
setRevenue
->SetRevenue
addCallbackParameter
->AddCallbackParameter
addCallbackParameter
->AddPartnerParameter
receipt
属性已从AdjustEvent
类中移除。
以下是变更内容的完整示例:
AdjustEvent adjustEvent = new AdjustEvent("abc123"); adjustEvent.setRevenue(0.25, "EUR"); adjustEvent.setTransactionId("random-id"); adjustEvent.setCallbackId("callback-id"); adjustEvent.setProductId("product-id"); adjustEvent.setPurchaseToken("purchase-token"); adjustEvent.setReceipt("receipt"); adjustEvent.addCallbackParameter("key", "value"); adjustEvent.addPartnerParameter("key", "value"); Adjust.trackEvent(adjustEvent);
adjustEvent.SetRevenue(0.25, "EUR"); adjustEvent.TransactionId = "random-id"; adjustEvent.CallbackId = "callback-id"; adjustEvent.ProductId = "product-id"; adjustEvent.PurchaseToken = "purchase-token"; adjustEvent.AddCallbackParameter("key", "value"); adjustEvent.AddPartnerParameter("key", "value"); Adjust.TrackEvent(adjustEvent);
事件去重
在 SDK v4 中,事件去重与事件transaction ID
同时进行且唯一 ID 的数量上限为 10 个。
adjustEvent.setTransactionId("transaction-id");
在 SDK v5 中,该功能与transaction ID
分离。事件去重添加了名为DeduplicationId
的新 ID 字段。
adjustEvent.DeduplicationId = "deduplication-id";
用户可以自定义DeduplicationId
的数量限制,添加到用于识别重复事件的列表中。默认情况下,数量上限为 10 。
AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);adjustConfig.EventDeduplicationIdsMaxSize = 20Adjust.InitSdk(adjustConfig);
AdjustAttribution 类
在 SDK v4 中,AdjustAttribution
调用包含一个名为adid
的属性。在 SDK v5 中,adid
属性已从AdjustAttribution
类中移除。您可以使用Adjust.GetAdid()
getter 方法获取设备的 ADID。
此外,AdjustAttribution
类的所有内部成员现在均为公共属性。
adjustAttribution.trackerTokenadjustAttribution.trackerNameadjustAttribution.networkadjustAttribution.campaignadjustAttribution.adgroupadjustAttribution.creativeadjustAttribution.clickLabeladjustAttribution.costTypeadjustAttribution.costAmountadjustAttribution.costCurrencyadjustAttribution.fbInstallReferrer
adjustAttribution.TrackerTokenadjustAttribution.TrackerNameadjustAttribution.NetworkadjustAttribution.CampaignadjustAttribution.AdgroupadjustAttribution.CreativeadjustAttribution.ClickLabeladjustAttribution.CostTypeadjustAttribution.CostAmountadjustAttribution.CostCurrencyadjustAttribution.FbInstallReferrer
归因变更回传
在 SDK v4 中,您可以将委托函数指定至AdjustConfig.setAttributionChangedDelegate()
函数,在设备归因发生变化时进行调用。
adjustConfig.setAttributionChangedDelegate(attributionCallback);
在 SDK v5 中,您需要将委托函数指定给AdjustConfig
实例的AttributionChangedDelegate
属性。
adjustConfig.AttributionChangedDelegate = attributionCallback;
通过深度链接进行再归因
在 SDK v4 中,您可以将深度链接信息传递至Adjust.appWillOpenUrl()
方法。
Adjust.appWillOpenUrl("url");
为清晰起见,在 SDK v5 中,该方法已重命名为Adjust.ProcessDeeplink()
。其中添加了新的AdjustDeeplink
类用于构建深度链接。要处理深度链接,请使用您的深度链接 URL 实例化AdjustDeeplink
对象并将其传递至Adjust.ProcessDeeplink
方法。
AdjustDeeplink adjustDeeplink = new AdjustDeeplink("url");Adjust.ProcessDeeplink(adjustDeeplink);
启动延迟深度链接
在 SDK v4 中,您可以调用AdjustConfig.setLaunchDeferredDeeplink()
方法打开延迟深度链接。
adjustConfig.setLaunchDeferredDeeplink(true);
在 SDK v5 中,您需要将AdjustConfig
实例的IsDeferredDeeplinkOpeningEnabled
属性设置为true
,SDK 才能打开深度链接。
adjustConfig.IsDeferredDeeplinkOpeningEnabled = true;
COPPA 合规
在 SDK v4 中,您可以通过使用bool
值在AdjustConfig
实例上调用setCoppaCompliantEnabled
方法,将应用标记为 COPPA 合规。
adjustConfig.setCoppaCompliantEnabled(true);
在 SDK v5 中,您需要将AdjustConfig
实例的IsCoppaComplianceEnabled
属性设置为bool
值。
adjustConfig.IsCoppaComplianceEnabled = true;
Play 商店儿童应用
在 SDK v4 中,您可以使用AdjustConfig
类将应用标记为Play 商店儿童应用。该属性会在 SDK 初始化期间读取,也就是说 SDK 初始化后该值将无法更新。
adjustConfig.setPlayStoreKidsAppEnabled(true);
在 SDK v5 中,您需要将AdjustConfig
实例的IsPlayStoreKidsComplianceEnabled
属性设置为true
,才能启用合规。
adjustConfig.IsPlayStoreKidsComplianceEnabled = true;
设置数据驻留和 URL 策略
在 SDK v4 中,URL 策略和数据驻留域名在AdjustConfig
类中被定义为常量。
adjustConfig.setUrlStrategy(AdjustConfig.AdjustDataResidencyEU);
在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还可以进行下列设置:
shouldUseSubdomains
(bool
):来源是否为子域名作为前缀。isDataResidency
(bool
):域名是否用于数据驻留。
adjustConfig.SetUrlStrategy(new List<string> {"eu.adjust.com"}, true, true);
请查看下方表格,了解如何在 SDK v5 中配置 URL 策略。
v4 | v5 - 主要和后备域名 | v5 - 使用子域名 | v5 - 数据驻留 |
---|---|---|---|
AdjustConfig.AdjustDataResidencyEU | "eu.adjust.com" | true | true |
AdjustConfig.AdjustDataResidencyTR | "tr.adjust.com" | true | true |
AdjustConfig.AdjustDataResidencyUS | "us.adjust.com" | true | true |
AdjustConfig.AdjustUrlStrategyChina | "adjust.world" : "adjust.com" | true | false |
AdjustConfig.AdjustUrlStrategyCn | "adjust.cn" : "adjust.com" | true | false |
AdjustConfig.AdjustUrlStrategyCnOnly | "adjust.cn" | true | false |
AdjustConfig.AdjustUrlStrategyIndia | "adjust.net.in" : "adjust.com" | true | false |
示例
adjustConfig.SetUrlStrategy(new List<string> {"adjust.net.in", "adjust.com"}, true, false);
adjustConfig.SetUrlStrategy(new List<string> {"adjust.world", "adjust.com"}, true, false);
adjustConfig.SetUrlStrategy(new List<string> {"adjust.cn"}, true, false);
adjustConfig.SetUrlStrategy(new List<string> {"eu.adjust.com"}, true, true);
adjustConfig.SetUrlStrategy(new List<string> {"tr.adjust.com"}, true, true);
adjustConfig.SetUrlStrategy(new List<string> {"us.adjust.com"}, true, true);
AdjustThirdPartySharing 类变更
SDK v5 对以下方法进行了重命名:
addGranularOption
->AddGranularOption
addPartnerSharingSetting
->AddPartnerSharingSetting
以下是变更内容的完整示例:
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addGranularOption("PartnerA", "key", "value"); adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);
adjustThirdPartySharing.AddGranularOption("PartnerA", "key", "value"); adjustThirdPartySharing.AddPartnerSharingSetting("PartnerA", "all", false);
Adjust.trackThirdPartySharing(adjustThirdPartySharing);
发送特定来源的广告收入
在 SDK v4 中,广告收入来源被定义为AdjustConfig
类中的常量。在 SDK v5 中,广告收入来源需要以字符串形式传递。
AdjustAdRevenue adRevenue = new AdjustAdRevenue(AdjustConfig.AdjustAdRevenueSourceAppLovinMAX);AdjustAdRevenue adRevenue = new AdjustAdRevenue("applovin_max_sdk");
v4 | v5 |
---|---|
AdjustConfig.AdjustAdRevenueSourceAppLovinMAX | "applovin_max_sdk" |
AdjustConfig.AdjustAdRevenueSourceAdMob | "admob_sdk" |
AdjustConfig.AdjustAdRevenueSourceIronSource | "ironsource_sdk" |
AdjustConfig.AdjustAdRevenueSourceAdMost | "admost_sdk" |
AdjustConfig.AdjustAdRevenueSourceUnity | "unity_sdk" |
AdjustConfig.AdjustAdRevenueSourceHeliumChartboost | "helium_chartboost_sdk" |
AdjustConfig.AdjustAdRevenueSourceADX | "adx_sdk" |
AdjustConfig.AdjustAdRevenueSourcePublisher | "publisher_sdk" |
AdjustConfig.AdjustAdRevenueSourceTradplus | "tradplus_sdk" |
AdjustConfig.AdjustAdRevenueSourceTopOn | "topon_sdk" |
AdjustConfig.AdjustAdRevenueSourceMopub | 不再支持 |
AdjustAdRevenue 类变更
应直接在 SDK v5 中设置以下类属性:
AdImpressionsCount
AdRevenueNetwork
AdRevenueUnit
AdRevenuePlacement
以下 setter 已被重命名:
setRevenue
->SetRevenue
addCallbackParameter
->AddCallbackParameter
addCallbackParameter
->AddPartnerParameter
以下是变更内容的完整示例:
AdjustAdRevenue adRevenue = new AdjustAdRevenue("applovin_max_sdk"); adRevenue.setRevenue(6.66, "CAD"); adRevenue.setAdImpressionsCount(6); adRevenue.setAdRevenueNetwork("network"); adRevenue.setAdRevenueUnit("unit"); adRevenue.setAdRevenuePlacement("placement"); adRevenue.addCallbackParameter("key1", "value1"); adRevenue.addPartnerParameter("key2", "value2");
adRevenue.SetRevenue(6.66, "CAD"); adRevenue.AdImpressionsCount = 6; adRevenue.AdRevenueNetwork = "network"; adRevenue.AdRevenueUnit = "unit"; adRevenue.AdRevenuePlacement = "placement"; adRevenue.AddCallbackParameter("key1", "value1"); adRevenue.AddPartnerParameter("key2", "value2");
Adjust.trackAdRevenue(adRevenue);
配置 ATT 弹窗等待时间间隔
在 SDK v4 中,您可以使用AdjustConfig
实例中的setAttConsentWaitingInterval
方法来设置向 Adjust 发送安装信息的延迟时间。通过设置延迟,您可以给用户更多时间与 ATT 弹窗进行交互。
adjustConfig.setAttConsentWaitingInterval(66);
在 SDK v5 中,您需要将延迟间隔指定至AdjustConfig
实例的AttConsentWaitingInterval
属性。
adjustConfig.AttConsentWaitingInterval = 66;
关闭 SKAdNetwork 通讯
在 SDK v4 中,您可以通过调用AdjustConfig.deactivateSKAdNetworkHandling()
方法来阻止 SDK 与 SKAdNetwork 通讯。
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox, true);adjustConfig.deactivateSKAdNetworkHandling();Adjust.start(adjustConfig);
在 SDK v5 中,您需要将AdjustConfig
实例的IsSkanAttributionEnabled
属性设置为false
,以此禁用 SKAdNetwork 通讯。
AdjustConfig adjustConfig = new AdjustConfig("appToken", AdjustEnvironment.Sandbox);adjustConfig.IsSkanAttributionEnabled = false;Adjust.InitSdk(adjustConfig);
监听转化值更新
在 SDK v4 中,您可以指定委托函数,将其传递至AdjustConfig.setConversionValueUpdatedDelegate()
来监听转化值更新。
adjustConfig.setConversionValueUpdatedDelegate(ConversionValueUpdatedCallback);
在 SDK v5 中,您需要将委托函数指定给AdjustConfig
实例的SkanUpdatedDelegate
属性。
adjust.SkanUpdatedDelegate = skanUpdatedCallback;
更新转化值
在 SDK v4 中,您可以使用Adjust.updateConversionValue()
方法向 Adjust 发送更新后的转化值。此方法包装 Apple 已弃用的updateConversionValue
方法,且在 SDK v5 中删除。
如需更新 SDK v5 中的转化值,请使用带下列参数的Adjust.UpdateSkanConversionValue()
方法:
conversionValue
(int
):更新后的转化值coarseValue
(string
):更新后的粗粒度转化值lockWindow
(bool
):是否在转化窗口结束前发送回调callback
(Action<string>
): 可以处理发生的任何错误的回传函数
Adjust.UpdateSkanConversionValue(1, "low", false, error =>{ // process error, if any});
App Tracking Transparency 授权包装器
在 SDK v4 中,您可以使用Adjust requestTrackingAuthorizationWithCompletionHandler()
方法处理用户 ATT 授权状态变更。
Adjust.requestTrackingAuthorizationWithCompletionHandler((status) =>{ switch (status) { case 0: // ATTrackingManagerAuthorizationStatusNotDetermined case break; case 1: // ATTrackingManagerAuthorizationStatusRestricted case break; case 2: // ATTrackingManagerAuthorizationStatusDenied case break; case 3: // ATTrackingManagerAuthorizationStatusAuthorized case break; }});
为清晰起见,该参数在 SDK v5 中被重命名为Adjust.RequestAppTrackingAuthorization()
。
Adjust.RequestAppTrackingAuthorization((status) =>{ switch (status) { case 0: // ATTrackingManagerAuthorizationStatusNotDetermined case break; case 1: // ATTrackingManagerAuthorizationStatusRestricted case break; case 2: // ATTrackingManagerAuthorizationStatusDenied case break; case 3: // ATTrackingManagerAuthorizationStatusAuthorized case break; }});
获取设备信息
在 SDK v4 中,所有设备信息 getter 方法都会同步运行。在 SDK v5 中,这些方法已改为异步运行。您可以添加回传函数,在异步流程完成时处理信息。
Adjust.GetIdfa(idfa =>{ // use idfa});
Adjust.GetAdid(adid =>{ // use adid});
Adjust.GetAttribution(attribution =>{ // use attribution});
Adjust.IsEnabled(isEnabled =>{ // use isEnabled});
Adjust.GetSdkVersion(sdkVersion =>{ // use sdkVersion});
Adjust.GetAmazonAdId(amazonAdId =>{ // use amazonAdId});
Adjust.GetLastDeeplink(lastDeeplink =>{ // use lastDeeplink});
移除 API
SDK v5 中移除了下列 API。
事件缓冲
SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签 (Push token) 和其他信息存储在本地缓冲区中以便在之后发送。
adjustConfig.setEventBufferingEnabled(true);
SDK v5 中已删除该设置。
自定义用户代理字符串
SDK v4 支持使用用户代理字符串调用 AdjustConfig.setUserAgent()
来设置自定义用户代理。
adjustConfig.setUserAgent("custom-user-agent");
SDK v5 中已删除该设置。
设置设备是否已知
在 SDK v4 中,您可以调用AdjustConfig.setDeviceKnown()
方法,手动告知 SDK 设备是否为已知设备。
adjustConfig.setDeviceKnown(true);
SDK v5 中已删除该设置。
延迟 SDK 启动
SDK v4 支持通过调用AdjustConfig setDelayTimer()
来延迟 SDK 的启动,最多延迟 10 秒 。
adjustConfig.setDelayTimer(10);
SDK v5 中已删除该设置。
全局禁用第三方分享
在 SDK v4 中,您可以调用Adjust.disableThirdPartySharing()
方法来全面禁用第三方信息分享。
Adjust.disableThirdPartySharing()
SDK v5 中已删除该功能。在 SDK v5 中,使用Adjust.trackThirdPartySharing()
方法来启用或禁用第三方共享。
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(false);Adjust.TrackThirdPartySharing(adjustThirdPartySharing);
查看授权状态变化
在 SDK v4 中,您可以使用Adjust.checkForNewAttStatus()
方法提示 SDK 读取用户的 ATT 状态并将信息转发至 Adjust 服务器。
Adjust.checkForNewAttStatus();
该方法在 SDK v5 中已被移除。
设置应用密钥
SDK v4 支持通过在AdjustConfig
实例上调用setAppSecret
方法来设置应用密钥,以此对 SDK 流量进行签名。
adjustConfig.setAppSecret(secretId, info1, info2, info3, info4);
SDK v5 中已删除该设置。