操作前须知
在更新到 SDK v5 之前,您需要进行以下操作:
-
SDK v5 支持SDK 签名验证。如果您正在使用 SDK 签名库,请先从应用中移除签名库。
-
SDK v5 支持的最低 API 版本已更新。如果您的应用目标版本较低,请先进行更新。
- iOS: 12.0
- 安卓: 21
安装 SDK
要开始使用 SDK v5,您需要将其添加为项目的依赖。为此,请将下列依赖添加至您的pubspec.yaml
文件:
更新初始化方法
在 SDK v4 中,初始化方法为Adjust.start
。在 SDK v5 中,该方法已变为Adjust.initSdk
。
变更 API
SDK v5 中变更了下列 API。
禁用或启用 SDK
在 SDK v4 中,您可以通过调用带bool
值的Adjust.setEnabled
来启用和禁用 SDK。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust.disable
来禁用 SDK。 - 调用
Adjust.enable
来启用 SDK。
在后台发送信息
在 SDK v4 中,您可以将adjustConfig
实例上的sendInBackground
属性设置为true
,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。
在 SDK v5 中,您需要将adjustConfig
实例上的isSendingInBackgroundEnabled
属性设置为true
,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。
预安装应用监测
在 SDK v4 中,您可以将adjustConfig
实例的preinstallTrackingEnabled
属性设置为true
来监测预安装应用。
在 SDK v5 中,您需要将adjustConfig
实例的isPreinstallTrackingEnabled
属性设置为true
来启用预安装应用监测。
禁用 AdServices 信息读取
在 SDK v4 中,您可以将adjustConfig
实例的allowAdServicesInfoReading
属性设置为false
,以防止 Adjust SDK 读取 AdServices 信息。
在 SDK v5 中,您需要将adjustConfig
实例的isAdServicesEnabled
属性设置为false
,以防止 Adjust SDK 读取 AdServices 信息。
禁用 IDFA 读取
在 SDK v4 中,您可以将adjustConfig
实例的allowIdfaReading
属性设置为false
,以防止 Adjust SDK 读取设备的 IDFA。
在 SDK v5 中,您需要将adjustConfig
实例的isIdfaReadingEnabled
属性设置为false
,以防止 Adjust SDK 读取设备的 IDFA。
在归因中启用成本数据
在 SDK v4 中,您可以将adjustConfig
实例的needsCost
属性设置为true
,在设备的归因信息中包含成本数据。
在 SDK v5 中,您需要将adjustConfig
实例的isCostDataInAttributionEnabled
属性设置为true
,才能在设备的归因信息中包含成本数据。
启用 LinkMe
在 SDK v4 中,您可以将adjustConfig
实例的linkMeEnabled
属性设置为true
,启用 LinkMe。
在 SDK v5 中,您需要将adjustConfig
实例的isLinkMeEnabled
属性设置为true
,才能启用 Adjust LinkMe。
只读取设备 ID 一次
在 SDK v4 中,您可以将adjustConfig
实例的readDeviceInfoOnceEnabled
属性设置为true
,以指示 SDK 只读取设备 ID 一次。
在 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 中,会话合作伙伴参数被重命名为统一合作伙伴参数。
App Store 订阅
在 SDK v4 中,您可以通过配置AdjustAppStoreSubscription
对象来设置新的订阅。该对象使用四个参数进行初始化:price
、 currency
、 transactionId
和receipt
。
在SDK v5 中,您无需发送receipt
参数,因为收入验证不再需要此参数。
App Store 购买
在 SDK v4 中,您可以通过配置AdjustAppStorePurchase
对象来设置新的购买。该对象使用三个参数进行初始化:receipt
、 product ID
和transaction ID
。
在SDK v5 中,您无需发送receipt
参数,因为收入验证不再需要此参数。
Play 商店订阅
在 SDK v4 中,您可以通过向setPurchaseTime
方法传递时间戳来记录用户购买订阅的日期。
在 SDK v5 中,您需要为adjustPlayStoreSubscription
实例的purchaseTime
属性指定时间戳以记录用户购买订阅的日期。
通过深度链接进行再归因
在 SDK v4 中,您可以将深度链接信息传递至Adjust.appWillOpenUrl
方法。
为清晰起见,在 SDK v5 中,该方法已重命名为Adjust.processDeeplink
。其中添加了新的AdjustDeeplink
类用于构建深度链接。要处理深度链接,请使用您的深度链接 URL 实例化AdjustDeeplink
对象并将其传递至Adjust.processDeeplink
方法。
启动延迟深度链接
在 SDK v4 中,您可以将adjustConfig
实例的launchDeferredDeeplink
属性设置为true
,使 SDK 打开深度链接。
在 SDK v5 中,您需要将adjustConfig
实例的isDeferredDeeplinkOpeningEnabled
属性设置为true
,SDK 才能打开深度链接。
深度链接解析
在 SDK v4 中,您可以通过将url
传递至processDeeplink
方法来解析缩短的深度链接。
在 SDK v5 中,您需要发送使用深度链接url
初始化的AdjustDeeplink
对象。此操作会返回未缩短的原始深度链接。
COPPA 合规
在 SDK v4 中,您可以将adjustConfig
实例的coppaCompliantEnabled
属性设置为true
,启用 COPPA 合规。
在 SDK v5 中,您需要将adjustConfig
实例的isCoppaComplianceEnabled
属性设置为true
,启用 COPPA 合规。
Play Store 儿童应用
在 SDK v4 中,您可以将adjustConfig
实例的playStoreKidsAppEnabled
属性设置为true
,将应用标记为Play 商店儿童应用 。该属性会在 SDK 初始化期间读取,也就是说 SDK 初始化后该值将无法更新。
在 SDK v5 中,您需要将adjustConfig
实例的isPlayStoreKidsComplianceEnabled
属性设置为true
,才能启用合规。
设置数据驻留和 URL 策略
在 SDK v4 中,URL 策略和数据驻留域名在adjustConfig
类中被定义为常量。
在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还需要进行下列设置:
useSubdomains
(bool
): 域名是否应被视为 Adjust 域名。若为true
,则 SDK 会为域名添加 Adjust 子域名前缀。若为false
,SDK 会使用收到的域名,不添加任何前缀。isDataResidency
(bool
):域名是否用于数据驻留。
请查看下方表格,了解如何在 SDK v5 中配置 URL 策略。
v4 | v5 - 主要和后备域名 | v5 - 使用子域名 | v5 - 数据驻留 |
---|---|---|---|
adjustConfig.DataResidencyEU | 'eu.adjust.com' | true | true |
adjustConfig.DataResidencyTR | 'tr.adjust.com' | true | true |
adjustConfig.DataResidencyUS | 'us.adjust.com' | true | true |
adjustConfig.UrlStrategyChina | 'adjust.world' : 'adjust.com' | true | false |
adjustConfig.UrlStrategyCn | 'adjust.cn' : 'adjust.com' | true | false |
adjustConfig.UrlStrategyCnOnly | 'adjust.cn' | true | false |
adjustConfig.UrlStrategyIndia | 'adjust.net.in' : 'adjust.com' | true | false |
示例
记录广告收入
在 SDK v4 中,您可以通过调用trackAdRevenue
方法并传递source
和payload
作为参数来记录广告收入。
通过 SDK v4 中的新方法,您可以创建带有source
的新AdjustAdRevenue
对象并将该对象传递至trackAdRevenueNew
方法来记录广告收入。
在 SDK v5 中,您需要使用source
来创建新的AdjustAdRevenue
对象并通过将此对象传递至trackAdRevenue
方法来记录广告收入。
发送特定来源的广告收入
在 SDK v4 中,广告收入来源被定义为adjustConfig
类中的常量。在 SDK v5 中,广告收入来源需要以字符串形式传递。
v4 | v5 |
---|---|
adjustConfig.AdRevenueAppLovinMAX | 'applovin_max_sdk' |
adjustConfig.AdRevenueSourceAdMob | 'admob_sdk' |
adjustConfig.AdRevenueSourceIronSource | 'ironsource_sdk' |
adjustConfig.AdRevenueSourceAdMost | 'admost_sdk' |
adjustConfig.AdRevenueSourceUnity | 'unity_sdk' |
adjustConfig.AdRevenueSourceHeliumChartboost | 'helium_chartboost_sdk' |
adjustConfig.AdRevenueSourceADX | 'adx_sdk' |
adjustConfig.AdRevenueSourcePublisher | 'publisher_sdk' |
adjustConfig.AdRevenueSourceTradplus | 'tradplus_sdk' |
adjustConfig.AdRevenueSourceTopOn | 'topon_sdk' |
adjustConfig.AdRevenueSourceMopub | 不再支持 |
关闭 SKAdNetwork 通讯
在 SDK v4 中,您可以通过调用adjustConfig.deactivateSKAdNetworkHandling
方法来阻止 SDK 与 SKAdNetwork 通讯。
在 SDK v5 中,您需要将adjustConfig
实例的isSkanAttributionEnabled
属性设置为false
,以此禁用 SKAdNetwork 通讯。
监听转化值更新
在 SDK v4 中您可以使用adjustConfig
的skad4conversionValueUpdatedCallback
属性来监听转化值更新。 在 SKAN4 之前,您可以使用conversionValueUpdatedCallback
属性。
在 SDK v5 中,您需要将回传函数指定给adjustConfig
实例的skanUpdatedCallback
属性。
更新转化值
在 SDK v4 中,您可以使用以下方法之一向 Adjust 发送更新后转化值:
如需更新 SDK v5 中的转化值,请使用带下列参数的updateSkanConversionValue
方法:
conversionValue
(int
):更新后的转化值coarseValue
(string
):更新后的粗粒度转化值lockWindow
(bool
):是否在转化窗口结束前发送回调
App Tracking Transparency 授权包装器
在 SDK v4 中,您可以使用Adjust.requestTrackingAuthorizationWithCompletionHandler
方法处理用户 ATT 授权状态变更。
为清晰起见,该参数在 SDK v5 中被重命名为Adjust.requestAppTrackingAuthorization
。
移除 API
SDK v5 中移除了下列 API。
事件缓冲
SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签 (Push token) 和其他信息存储在本地缓冲区中以便在之后发送。
SDK v5 中已删除该设置。
自定义用户代理字符串
SDK v4 支持通过向 adjustConfig
实例上的 userAgent
属性指定用户字符串代理来设置自定义用户代理。
SDK v5 中已删除该设置。
设置设备是否已知
在 SDK v4 中,您可以将adjustConfig
实例的isDeviceKnown
属性,手动告知 SDK 设备是否为已知设备。
SDK v5 中已删除该设置。
延迟 SDK 启动
SDK v4 支持通过将adjustConfig
实例的delayStart
属性设置为延迟来延迟 SDK 启动。您最多可以设置 10 秒 的延迟。
此设置已在 SDK v5 中删除,包括Adjust.checkForNewAttStatus
方法。调用该方法会使 SDK 停止延迟,继续工作。
最终安卓归因
在 SDK v4 中,您可以将adjustConfig
实例的finalAndroidAttributionEnabled
属性设置为true
来提供最终安卓归因。
在 SDK v5 中,该设置已被移除,因为安卓平台上只有最终归因会通过归因回传发送。
AdjustEvent 变更
在 SDK v4 中,您可以将receipt
发送到adjustEvent.receipt
上的adjustEvent
属性以进行订阅和购买监测。
SDK v5 中已移除该类属性,因为该类属性已不再用于收入验证。
全局禁用第三方分享
在 SDK v4 中,您可以调用Adjust.disableThirdPartySharing
方法来全面禁用第三方信息分享。
SDK v5 中已删除该功能。在 SDK v5 中,使用Adjust.trackThirdPartySharing
方法来启用或禁用第三方共享。
设置应用密钥
SDK v4 支持通过在AdjustConfig
实例上调用setAppSecret
方法来设置应用密钥,以此对 SDK 流量进行签名。
SDK v5 中已删除该设置。