操作前须知
在更新到 SDK v5 之前,您需要进行以下操作:
-
SDK v5 支持SDK 签名验证。如果您正在使用 SDK 签名库,请先从应用中移除签名库。
-
SDK v5 支持的最低 API 版本已更新。如果您的应用目标版本较低,请先进行更新。
- iOS: 12.0
- 安卓: 21
安装 SDK
要开始使用 SDK v5,您需要将其添加为项目的依赖。
Cordova 插件
如需将 Adjust Cordova SDK 添加至您的 Cordova 插件,请运行以下命令:
Ionic
如果您使用 Ionic 构建应用,请运行以下命令从awesome-cordova-plugins
库中添加 SDK:
更新初始化方法
在 SDK v4 中,初始化方法为Adjust.create
。在 SDK v5 中,该方法已变为Adjust.initSdk
。
变更 API
SDK v5 中变更了下列 API。
禁用或启用 SDK
在 SDK v4 中,您可以通过调用带boolean
值的Adjust.setEnabled
来启用和禁用 SDK。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust.disable
来禁用 SDK。 - 调用
Adjust.enable
来启用 SDK。
在后台发送信息
在 SDK v4 中,您可以使用boolean
值调用adjustConfig
实例上的setSendInBackground
方法,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。
在 SDK v5 中,您需要在adjustConfig
实例上调用enableSendingInBackground
方法,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。默认状态为false
。
预安装应用监测
在 SDK v4 中,您可以使用true
值在adjustConfig
实例上调用setPreinstallTrackingEnabled
方法,以此来监测预安装应用。
在 SDK v5 中,您需要调用adjustConfig
实例的enablePreinstallTracking
方法来启用预安装应用监测。默认状态为false
。
禁用 AdServices 信息读取
在 SDK v4 中,您可以使用false
值在adjustConfig
上调用setAllowAdServicesInfoReading
方法,阻止 Adjust SDK 读取 AdServices 信息。
在 SDK v5 中,您需要在adjustConfig
实例上调用disableAdServices
方法,以防止 Adjust SDK 读取 AdServices 信息。默认状态为true
。
禁用 IDFA 读取
在 SDK v4 中,您可以使用false
值在adjustConfig
实例上调用setAllowIdfaReading
方法,以防止 Adjust SDK 读取设备的 IDFA。
在 SDK v5 中,您需要在adjustConfig
实例上调用disableIdfaReading
方法,以防止 Adjust SDK 读取设备的 IDFA。默认状态为true
。
在归因中启用成本数据
在 SDK v4 中,您可以将adjustConfig
实例的setNeedsCost
属性设置为true
,在设备的归因信息中包含成本数据。
在 SDK v5 中,您需要在adjustConfig
实例上调用enableCostDataInAttribution
方法,在设备的归因信息中包含成本数据。默认状态为false
。
设置归因回传
在 SDK v4 中,您可以在AdjustConfig
实例上调用setAttributionCallbackListener
方法来设置委托回传函数,在用户归因数据发生变化时触发。
在 SDK v5 中,该方法已重命名为setAttributionCallback
。所有参数不变。
启用 LinkMe
在 SDK v4 中,您可以使用true
值在adjustConfig
实例上调用setLinkMeEnabled
方法,以此来启用 Adjust LinkMe。
在 SDK v5 中,您需要在adjustConfig
实例上调用enableLinkMe
方法,启用 Adjust LinkMe。默认状态为false
。
只读取设备 ID 一次
在 SDK v4 中,您可以使用true
值在adjustConfig
实例上调用setReadDeviceInfoOnceEnabled
方法,指示 SDK 只读取设备 ID 一次。
在 SDK v5 中,您需要在adjustConfig
实例上调用enableDeviceIdsReadingOnce
方法,指示 SDK 只读取设备 ID 一次。默认状态为false
。
离线模式
在 SDK v4 中,您可以通过调用带boolean
参数的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 中,事件去重与事件transaction ID
同时进行且唯一 ID 的数量上限为 10 个。
在 SDK v5 中,该功能与transaction ID
分离。事件去重添加了名为deduplicationId
的新 ID 字段。
用户可以自定义可添加到已识别重复事件列表中的去重 ID 数量。默认情况下上限为 10。
会话成功回传
在 SDK v4 中,您可以调用setSessionTrackingSucceededCallbackListener
来注册 SDK 的成功会话记录。
在 SDK v5 中,该方法已重命名为setSessionTrackingSucceededCallback
。对于 iOS,jsonResponse
属性已从映射变为 JSON 字符串。
会话失败回传
在 SDK v4 中,您可以调用setSessionTrackingFailedCallbackListener
来注册 SDK 的失败会话记录。
在 SDK v5 中,该方法已重命名为setSessionTrackingFailedCallback
。
事件成功回传
在 SDK v4 中,您可以调用setEventTrackingSucceededCallbackListener
来注册 SDK 的成功事件记录。
在 SDK v5 中,该方法已重命名为setEventTrackingSucceededCallback
。
事件失败回传
在 SDK v4 中,您可以调用setEventTrackingFailedCallbackListener
来注册 SDK 的失败会话记录。
在 SDK v5 中,该方法已重命名为setEventTrackingFailedCallback
。
App Store 订阅
在 SDK v4 中,您可以通过配置AdjustAppStoreSubscription
对象来设置新的订阅。该对象使用四个参数进行初始化:price
、 currency
、 transactionId
和receipt
。
在SDK v5 中,您无需发送receipt
参数,因为收入验证不再需要此参数。
通过深度链接进行再归因
在 SDK v4 中,您可以将深度链接信息传递至Adjust.appWillOpenUrl
方法。
为清晰起见,在 SDK v5 中,该方法已重命名为Adjust.processDeeplink
。其中添加了新的AdjustDeeplink
类用于构建深度链接。要处理深度链接,请使用您的深度链接 URL 实例化AdjustDeeplink
对象并将其传递至Adjust.processDeeplink
方法。
启动延迟深度链接
在 SDK v4 中,您可以使用false
值在adjustConfig
实例上调用setShouldlaunchDeeplink
方法,禁止 SDK 打开深度链接。
在 SDK v5 中,深度链接会默认打开。您需要在adjustConfig
实例上调用disableDeferredDeeplinkOpening
方法来禁止 SDK 打开深度链接。
深度链接解析
在 SDK v4 中,您可以通过将url
传递至processDeeplink
方法来解析缩短的深度链接。
在 SDK v5 中,您需要发送使用深度链接url
初始化的AdjustDeeplink
对象。此操作会返回未缩短的原始深度链接。
深度链接回传监听器
在 SDK v4 中,您可以通过在AdjustConfig
实例上调用setDeferredDeeplinkCallbackListener
方法来配置监听器函数,在接收到深度链接时触发。
在 SDK v5 中,该方法已重命名为setDeferredDeeplinkCallback
。所有参数不变。
COPPA 合规
在 SDK v4 中,您可以使用true
值在adjustConfig
实例上调用coppaCompliantEnabled
方法,启用 COPPA 合规。
在 SDK v5 中,您需要在adjustConfig
实例上调用enableCoppaCompliance
方法,启用 COPPA 合规。默认状态为false
。
Play Store 儿童应用
在 SDK v4 中,您可以使用true
值在adjustConfig
实例上调用setPlayStoreKidsAppEnabled
方法,将应用标记为Play 商店儿童应用。该属性会在 SDK 初始化期间读取,也就是说 SDK 初始化后该值将无法更新。
在 SDK v5 中,您需要调用adjustConfig
实例的enablePlayStoreKidsCompliance
方法来启用合规。默认状态为false
。
设置数据驻留和 URL 策略
在 SDK v4 中,URL 策略和数据驻留域名在AdjustConfig
类中被定义为常量。
在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还需要进行下列设置:
useSubdomains
(boolean
): 域名是否应被视为 Adjust 域名。若为true
,则 SDK 会为域名添加 Adjust 子域名前缀。若为false
,SDK 会使用收到的域名,不添加任何前缀。isDataResidency
(boolean
):域名是否用于数据驻留。
请查看下方表格,了解如何在 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
作为参数来记录广告收入。
您也可以实例化一个AdjustAdRevenue
对象并调用setRevenue
方法来设置广告收入金额。
在 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.AdRevenueSourceTopOn | "topon_sdk" |
AdjustConfig.AdRevenueSourceMopub | 不再支持 |
关闭 SKAdNetwork 通讯
在 SDK v4 中,您可以通过调用adjustConfig.deactivateSKAdNetworkHandling
方法来阻止 SDK 与 SKAdNetwork 通讯。
在 SDK v5 中,您需要在adjustConfig
实例上调用disableSkanAttribution
方法,以此禁用 SKAdNetwork 通讯。默认状态为true
。
监听转化值更新
在 SDK v4 中,您可以在adjustConfig
实例上调用setSkad4ConversionValueUpdatedCallbackListener
方法来监听转化值更新。在 SKAN4 之前,您可以使用setConversionValueUpdatedCallbackListener
方法。
在 SDK v5 中,您需要为adjustConfig
对象的setSkanUpdatedCallback
方法指定一个回传函数。
更新转化值
在 SDK v4 中,您可以使用以下方法之一向 Adjust 发送更新后转化值:
如需更新 SDK v5 中的转化值,请使用带下列参数的updateSkanConversionValue
方法:
conversionValue
(Number
):更新后的转化值coarseValue
(string
):更新后的粗粒度转化值lockWindow
(boolean
):是否在转化窗口结束前发送回调
App Tracking Transparency 授权包装器
在 SDK v4 中,您可以使用Adjust.requestTrackingAuthorizationWithCompletionHandler
方法处理用户 ATT 授权状态变更。
为清晰起见,该参数在 SDK v5 中被重命名为Adjust.requestAppTrackingAuthorization
。
设备 ID getter
在 SDK v4 中,如果调用设备平台上不存在的设备 ID,那么 getter 方法会返回空字符串 ( ""
)。
在 SDK v5 中,调用设备平台上不存在的设备 ID 无任何作用。回传功能不会执行。
移除 API
SDK v5 中移除了下列 API。
事件缓冲
SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签和其他信息存储在本地缓冲区中 60 秒之后发送。
该方法在 SDK v5 中已被移除。
自定义用户代理字符串
SDK v4 支持通过向 AdjustConfig
实例上的 setUserAgent
方法传递用户字符串代理来设置自定义用户代理。
该方法在 SDK v5 中已被移除。
设置设备是否已知
在 SDK v4 中,您可以在AdjustConfig
实例上调用setDeviceKnown
方法,手动告知 SDK 设备是否为已知设备。
该方法在 SDK v5 中已被移除。
延迟 SDK 启动
SDK v4 支持通过在AdjustConfig
实例上调用setDelayStart
方法来延迟 SDK 启动。您最多可以设置 10 秒 的延迟。
该方法在 SDK v5 中已被移除。中断此延迟的Adjust.sendFirstPackages
方法也已被移除。
检查是否有新的 ATT 状态
SDK v4 支持Adjust.checkForNewAttStatus
方法。调用该方法后,SDK 会检查自上次 SDK 活动以来 ATT 状态是否发生变化,并就任何变化通知 Adjust 服务器。
该方法在 SDK v5 中已被移除。
最终安卓归因
在 SDK v4 中,您可以用true
值在AdjustConfig
实例上调用setFinalAndroidAttributionEnabled
方法,发送最终安卓归因。
在 SDK v5 中,该设置已被移除,因为安卓平台上只有最终归因会通过归因回传发送。
设置 referrer
在 SDK v4 中,您可以调用setReferrer
方法,在 SDK 启动时通过自定义点击 ID 触发 SDK 点击。
该方法在 SDK v5 中已被移除。Google 已弃用用于向 Google Play 服务传递 referrer 信息的INSTALL_REFERRER
intent 方法。如果您当前正在使用此方法,请迁移至 Google Play Referrer API。
转换通用链接
在 SDK v4 中,您可以调用convertUniversalLink
方法。
该方法在 SDK v5 中已被移除。
AdjustEvent 变更
在 SDK v4 中,您可以向AdjustEvent
实例上的adjustEvent.setReceipt
方法发送receipt
,进行收入验证。
SDK v5 中已移除该参数,因为该参数已不再用于收入验证。
收入验证
在 SDK v4 中,您必须实例化带有receipt
参数的AdjustAppStorePurchase
对象。该值用于收入验证。
该方法在 SDK v5 中已被移除。如果您使用的是AdjustAppStorePurchase
类收入验证,则必须从构造调用中移除该参数。
全局禁用第三方分享
在 SDK v4 中,您可以调用Adjust.disableThirdPartySharing
方法来全面禁用第三方信息分享。
SDK v5 中已删除该功能。在 SDK v5 中,使用Adjust.trackThirdPartySharing
方法来启用或禁用第三方共享。