操作前须知
在更新到 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
.
安装 iOS 和安卓 SDK
SDK v5 不再使用 iOS 和安卓 SDK 作为二进制依赖。要安装底层 iOS 和安卓 SDK,您需要使用External Dependency Manager for Unity (EDM4U)从 CocoaPods 和 Maven 安装包。
更新初始化方法
在 SDK v4 中,SDK 的初始化方法是配置AdjustConfig
对象并将其传递至Adjust.start()
方法。
在 SDK v5 中,该方法已重命名为Adjust.InitSdk()
。
设置签名库
SDK v5 包含 SDK 签名库。您可以按照签名库集成指南中的测试步骤对此进行测试。
签名保护功能默认处于禁用状态。要启用该功能,您需要:
- 执行签名验证。
- 在测试前提供应用的 SHA-1 指纹。
变更 API
SDK v5 中变更了下列 API。
设置日志级别
在 SDK v4 中,您可以通过向AdjustConfig.setLogLevel()
方法传递AdjustLogLevel
常量来设置日志级别。
在 SDK v5 中,您需要为AdjustConfig
实例的LogLevel
属性指定一个AdjustLogLevel
常量。
禁用或启用 SDK
在 SDK v4 中,您可以通过调用带bool
值的Adjust.setEnabled()
来启用和禁用 SDK。
- 调用
Adjust.setEnabled(false)
来禁用 SDK。 - 调用
Adjust.setEnabled(true)
来启用 SDK。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust.Disable()
来禁用 SDK。 - 调用
Adjust.Enable()
来启用 SDK。
在后台发送信息
在 SDK v4 中,您可以使用true
参数调用AdjustConfig.setSendInBackground()
方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。
在 SDK v5 中,您需要将AdjustConfig
实例上的IsSendingInBackgroundEnabled
属性设置为true
,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。
预安装应用监测
在 SDK v4 中,您可以使用AdjustConfig.setPreinstallTrackingEnabled
方法启用对预安装应用的监测。
在 SDK v5 中,您需要将AdjustConfig
实例的IsPreinstallTrackingEnabled
属性设置为true
。
在 SDK v4 中,您可以使用AdjustConfig.setPreinstallFilePath
方法配置包含预安装应用信息的路径。
在 SDK v5 中,您需要将AdjustConfig
实例的PreinstallFilePath
属性设置为包含预安装应用信息的文件路径。
在 SDK v4 中,您可以使用AdjustConfig.setDefaultTracker()
方法设置默认链接识别码来监测预安装应用的安装。
在 SDK v5 中,您需要将链接直接指定给AdjustConfig
实例的DefaultTracker
属性。
设置外部设备 ID
在 SDK v4 中,您可以通过向AdjustConfig.setExternalDeviceId()
方法传递 ID 来设置外部设备 ID。
在 SDK v5 中,您需要直接将 ID 指定至AdjustConfig
实例的ExternalDeviceID
属性。
设置 Meta App ID
在SDK v4 中,您可以使用 AdjustConfig.setFbAppId()
方法设置 Meta App ID。
在 SDK v5 中,您需要将 Meta App ID 指定至AdjustConfig
实例的FbAppId
属性。
禁用 AdServices 信息读取
在 SDK v4 中,您可以使用false
参数调用AdjustConfig.setAllowAdServicesInfoReading()
方法来阻止 Adjust SDK 读取 AdServices 信息。
在 SDK v5 中,您需要将AdjustConfig
实例的IsAdServicesEnabled
属性设置为false
,以防止 Adjust SDK 读取 AdServices 信息。
禁用 IDFA 读取
在 SDK v4 中,您可以使用false
参数调用AdjustConfig.setAllowIdfaReading()
方法来阻止 Adjust SDK 读取设备的 IDFA。
在 SDK v5 中,您需要将AdjustConfig
实例的IsIdfaReadingEnabled
属性设置为false
,以防止 Adjust SDK 读取设备的 IDFA。
在归因中启用成本数据
在 SDK v4 中,您可以通过调用带true
参数的Adjust.setNeedsCost()
方法在设备归因信息中启用成本数据。
在 SDK v5 中,您需要将AdjustConfig
实例的IsCostDataInAttributionEnabled
属性设置为true
,才能在设备的归因信息中包含成本数据。
启用 LinkMe
在 SDK v4 中,您可以通过调用带有true
参数的AdjustConfig.setLinkMeEnabled()
方法来启用Adjust LinkMe 。
在 SDK v5 中,您需要将AdjustConfig
实例的IsLinkMeEnabled
属性设置为true
,才能启用 LinkMe。
只读取设备 ID 一次
在 SDK v4 中,您可以通过调用带有true
参数的AdjustConfig.setReadDeviceInfoOnceEnabled()
方法来指示 SDK 在启动时仅读取一次设备标识符。
在 SDK v5 中,您需要将AdjustConfig
实例的IsDeviceIdsReadingOnceEnabled
属性设置为true
,以指示 SDK 只读取设备 ID 一次。
离线模式
在 SDK v4 中,您可以通过调用带bool
参数的Adjust.setOfflineMode()
来启用和禁用 SDK 离线模式。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust.SwitchToOfflineMode()
将 SDK 设为离线模式。 - 调用
Adjust.SwitchBackToOnlineMode()
将 SDK 重新设为在线模式。
会话回传参数
在 SDK v4 中,您可以通过传递键值对至Adjust.addSessionCallbackParameter()
方法来添加会话参数,也可以使用Adjust.removeSessionCallbackParameter()
方法移除单个参数。
在 SDK v5 中,会话参数被重命名为统一参数。
会话合作伙伴参数
在 SDK v4 中,您可以通过传递键值对至Adjust.addSessionPartnerParameter()
方法来添加会话合作伙伴参数,也可以使用Adjust.removeSessionPartnerParameter()
方法移除单个参数。
在 SDK v5 中,会话合作伙伴参数被重命名为统一合作伙伴参数。
成功和失败回传
在 SDK v4 中,您可以通过分别向AdjustConfig.setSessionSuccessDelegate()
和AdjustConfig.setSessionFailureDelegate()
方法传递委托函数来配置会话成功和失败回传。
在 SDK v5 中,您需要将AdjustConfig
实例的SessionSuccessDelegate
和SessionFailureDelegate
属性设置为相关委托函数。
事件成功和失败回传也发生了同样的变化。在 SDK v4 中,设置方法是分别向AdjustConfig.setSessionSuccessDelegate()
和AdjustConfig.setSessionFailureDelegate()
方法传递委托函数。
在 SDK v5 中,您需要将AdjustConfig
实例的EventSuccessDelegate
和EventFailureDelegate
属性设置为相关委托函数。
App Store 订阅
应直接在 SDK v5 中设置以下类属性:
TransactionDate
SalesRegion
以下 setter 已被重命名:
addCallbackParameter
->AddCallbackParameter
addCallbackParameter
->AddPartnerParameter
以下是变更内容的完整示例:
Play 商店订阅
应直接在 SDK v5 中设置以下类属性:
PurchaseTime
以下 setter 已被重命名:
addCallbackParameter
->AddCallbackParameter
addCallbackParameter
->AddPartnerParameter
以下是变更内容的完整示例:
AdjustEvent 类
应直接在 SDK v5 中设置以下类属性:
CallbackId
TransactionId
ProductId
PurchaseToken
以下 setter 已被重命名:
setRevenue
->SetRevenue
addCallbackParameter
->AddCallbackParameter
addCallbackParameter
->AddPartnerParameter
receipt
属性已从AdjustEvent
类中移除。
以下是变更内容的完整示例:
事件去重
在 SDK v4 中,事件去重与事件transaction ID
同时进行且唯一 ID 的数量上限为 10 个。
在 SDK v5 中,该功能与transaction ID
分离。事件去重添加了名为DeduplicationId
的新 ID 字段。
用户可以自定义DeduplicationId
的数量限制,添加到用于识别重复事件的列表中。默认情况下,数量上限为 10 。
AdjustAttribution 类
在 SDK v4 中,AdjustAttribution
调用包含一个名为adid
的属性。在 SDK v5 中,adid
属性已从AdjustAttribution
类中移除。您可以使用Adjust.GetAdid()
getter 方法获取设备的 ADID。
此外,AdjustAttribution
类的所有内部成员现在均为公共属性。
归因变更回传
在 SDK v4 中,您可以将委托函数指定至AdjustConfig.setAttributionChangedDelegate()
函数,在设备归因发生变化时进行调用。
在 SDK v5 中,您需要将委托函数指定给AdjustConfig
实例的AttributionChangedDelegate
属性。
通过深度链接进行再归因
在 SDK v4 中,您可以将深度链接信息传递至Adjust.appWillOpenUrl()
方法。
为清晰起见,在 SDK v5 中,该方法已重命名为Adjust.ProcessDeeplink()
。其中添加了新的AdjustDeeplink
类用于构建深度链接。要处理深度链接,请使用您的深度链接 URL 实例化AdjustDeeplink
对象并将其传递至Adjust.ProcessDeeplink
方法。
启动延迟深度链接
在 SDK v4 中,您可以调用AdjustConfig.setLaunchDeferredDeeplink()
方法打开延迟深度链接。
在 SDK v5 中,您需要将AdjustConfig
实例的IsDeferredDeeplinkOpeningEnabled
属性设置为true
,SDK 才能打开深度链接。
COPPA 合规
在 SDK v4 中,您可以通过使用bool
值在AdjustConfig
实例上调用setCoppaCompliantEnabled
方法,将应用标记为 COPPA 合规。
在 SDK v5 中,您需要将AdjustConfig
实例的IsCoppaComplianceEnabled
属性设置为bool
值。
Play 商店儿童应用
在 SDK v4 中,您可以使用AdjustConfig
类将应用标记为Play 商店儿童应用。该属性会在 SDK 初始化期间读取,也就是说 SDK 初始化后该值将无法更新。
在 SDK v5 中,您需要将AdjustConfig
实例的IsPlayStoreKidsComplianceEnabled
属性设置为true
,才能启用合规。
设置数据驻留和 URL 策略
在 SDK v4 中,URL 策略和数据驻留域名在AdjustConfig
类中被定义为常量。
在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还可以进行下列设置:
shouldUseSubdomains
(bool
):来源是否为子域名作为前缀。isDataResidency
(bool
):域名是否用于数据驻留。
请查看下方表格,了解如何在 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 |
示例
AdjustThirdPartySharing 类变更
SDK v5 对以下方法进行了重命名:
addGranularOption
->AddGranularOption
addPartnerSharingSetting
->AddPartnerSharingSetting
以下是变更内容的完整示例:
发送特定来源的广告收入
在 SDK v4 中,广告收入来源被定义为AdjustConfig
类中的常量。在 SDK v5 中,广告收入来源需要以字符串形式传递。
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
以下是变更内容的完整示例:
配置 ATT 弹窗等待时间间隔
在 SDK v4 中,您可以使用AdjustConfig
实例中的setAttConsentWaitingInterval
方法来设置向 Adjust 发送安装信息的延迟时间。通过设置延迟,您可以给用户更多时间与 ATT 弹窗进行交互。
在 SDK v5 中,您需要将延迟间隔指定至AdjustConfig
实例的AttConsentWaitingInterval
属性。
关闭 SKAdNetwork 通讯
在 SDK v4 中,您可以通过调用AdjustConfig.deactivateSKAdNetworkHandling()
方法来阻止 SDK 与 SKAdNetwork 通讯。
在 SDK v5 中,您需要将AdjustConfig
实例的IsSkanAttributionEnabled
属性设置为false
,以此禁用 SKAdNetwork 通讯。
监听转化值更新
在 SDK v4 中,您可以指定委托函数,将其传递至AdjustConfig.setConversionValueUpdatedDelegate()
来监听转化值更新。
在 SDK v5 中,您需要将委托函数指定给AdjustConfig
实例的SkanUpdatedDelegate
属性。
更新转化值
在 SDK v4 中,您可以使用Adjust.updateConversionValue()
方法向 Adjust 发送更新后的转化值。此方法包装 Apple 已弃用的updateConversionValue
方法,且在 SDK v5 中删除。
如需更新 SDK v5 中的转化值,请使用带下列参数的Adjust.UpdateSkanConversionValue()
方法:
conversionValue
(int
):更新后的转化值coarseValue
(string
):更新后的粗粒度转化值lockWindow
(bool
):是否在转化窗口结束前发送回调callback
(Action<string>
): 可以处理发生的任何错误的回传函数
App Tracking Transparency 授权包装器
在 SDK v4 中,您可以使用Adjust requestTrackingAuthorizationWithCompletionHandler()
方法处理用户 ATT 授权状态变更。
为清晰起见,该参数在 SDK v5 中被重命名为Adjust.RequestAppTrackingAuthorization()
。
获取设备信息
在 SDK v4 中,所有设备信息 getter 方法都会同步运行。在 SDK v5 中,这些方法已改为异步运行。您可以添加回传函数,在异步流程完成时处理信息。
移除 API
SDK v5 中移除了下列 API。
事件缓冲
SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签 (Push token) 和其他信息存储在本地缓冲区中以便在之后发送。
SDK v5 中已删除该设置。
自定义用户代理字符串
SDK v4 支持使用用户代理字符串调用 AdjustConfig.setUserAgent()
来设置自定义用户代理。
SDK v5 中已删除该设置。
设置设备是否已知
在 SDK v4 中,您可以调用AdjustConfig.setDeviceKnown()
方法,手动告知 SDK 设备是否为已知设备。
SDK v5 中已删除该设置。
延迟 SDK 启动
SDK v4 支持通过调用AdjustConfig setDelayTimer()
来延迟 SDK 的启动,最多延迟 10 秒 。
SDK v5 中已删除该设置。
全局禁用第三方分享
在 SDK v4 中,您可以调用Adjust.disableThirdPartySharing()
方法来全面禁用第三方信息分享。
SDK v5 中已删除该功能。在 SDK v5 中,使用Adjust.trackThirdPartySharing()
方法来启用或禁用第三方共享。
查看授权状态变化
在 SDK v4 中,您可以使用Adjust.checkForNewAttStatus()
方法提示 SDK 读取用户的 ATT 状态并将信息转发至 Adjust 服务器。
该方法在 SDK v5 中已被移除。
设置应用密钥
SDK v4 支持通过在AdjustConfig
实例上调用setAppSecret
方法来设置应用密钥,以此对 SDK 流量进行签名。
SDK v5 中已删除该设置。