操作前须知
在更新到 SDK v5 之前,您需要进行以下操作:
-
SDK v5 支持SDK 签名验证。如果您正在使用 SDK 签名库,请先从应用中移除签名库。
-
SDK v5 支持的最低 API 版本已更新。如果您的应用目标版本较低,请先进行更新。
- iOS: 12.0
- 安卓: 21
安装 SDK
要开始使用 SDK v5,您需要将其添加为项目的依赖。为此,请按照以下步骤操作:
- 使用以下方法之一下载 React Native 库。
在您的终端运行以下指令:
- 在您的终端运行以下指令来为您的 iOS 应用安装 CocoaPods 依赖:
更新初始化方法
在 SDK v4 中,初始化方法为Adjust.create
。在 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 中,您可以使用bool
值调用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 中,您可以通过调用带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 中,事件去重与事件transaction ID
同时进行且唯一 ID 的数量上限为 10 个。
在 SDK v5 中,该功能与transaction ID
分离。事件去重添加了名为deduplicationId
的新 ID 字段。
用户可以自定义可添加到已识别重复事件列表中的去重 ID 数量。默认情况下上限为 10。
会话成功回传
在 SDK v4 中,您可以调用setSessionTrackingSucceededCallbackListener
来注册 SDK 的成功会话记录。
在 SDK v5 中,该方法已重命名为setSessionTrackingSucceededCallback
。
会话失败回传
在 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 中,您可以使用true
值来在adjustConfig
实例上调用setShouldlaunchDeeplink
方法,允许 SDK 打开深度链接或使用false
来禁止深度链接打开功能。
在 SDK v5 中,深度链接会默认打开。您需要在adjustConfig
实例上调用isDeferredDeeplinkOpeningEnabled
方法来允许 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
实例上调用isCoppaComplianceEnabled
方法,启用 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
(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
实例上调用disableSkanAttribution
方法,以此禁用 SKAdNetwork 通讯。默认状态为true
。
监听转化值更新
在 SDK v4 中,您可以在adjustConfig
实例上调用setSkad4ConversionValueUpdatedCallbackListener
方法来监听转化值更新。在 SKAN4 之前,您可以使用setConversionValueUpdatedCallbackListener
方法。
在 SDK v5 中,您需要为adjustConfig
对象的setSkanUpdatedCallback
方法指定一个回传函数。
更新转化值
在 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
实例上的 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 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 中,您可以将receipt
发送到adjustEvent.setReceipt
上的adjustEvent
方法以进行订阅和购买监测。
SDK v5 中已移除该参数,因为该参数已不再用于收入验证。
收入验证
在 SDK v4 中,您必须实例化带有receipt
属性的AdjustAppStorePurchase
对象。该属性用于收入验证。
该方法在 SDK v5 中已被移除。如果您使用的是AdjustAppStorePurchase
类收入验证,则必须从构造调用中移除该参数。
全局禁用第三方分享
在 SDK v4 中,您可以调用Adjust.disableThirdPartySharing
方法来全面禁用第三方信息分享。
SDK v5 中已删除该功能。在 SDK v5 中,使用Adjust.trackThirdPartySharing
方法来启用或禁用第三方共享。