操作前须知
在更新到 SDK v5 之前,您需要进行以下操作:
SDK v5 支持的最低 API 版本已更新。如果您的应用目标版本较低,请先进行更新。
安装 SDK
要开始使用 SDK v5,您需要将其添加为项目的依赖。为此请进行下列操作:
从 GitHub下载 SDK 档案
复制dist
目录下的 C++ 文件,将其添加进 Cocos2d-x 项目
( 仅限安卓 )将 C++ 文件的路径添加到Android.mk
文件的LOCAL_SRC_FILES
部分。
如果您使用 CMake,请将以下来源和标头列表添加至您的CMakeLists.txt
文件:
( 仅限安卓 ):从GitHub 发布页面下载最新的adjust-android.aar
并将其导入您的 Android Studio 项目中。
( 仅限 iOS ):从GitHub 发布页面下载最新的AdjustSdk.framework
并将其链接到您的 Xcode 项目中。
设置签名库
SDK v5 使用SDK 签名库来加密从 Adjust SDK 发送到 Adjust 服务器的信息。您必须将签名库添加到项目中才能使用 SDK v5。
安卓应用
- 从Adjust 签名库 GitHub 库下载最新的
adjust-android-signature.aar
。 - 将
.aar
添加至您的 Android Studio 项目。
iOS 应用
- 从Adjust 签名库 GitHub 库下载最新的
AdjustSigSdk-iOS-Static.a
。 - 请在您的 Xcode 项目中关联
.a
。
更新应用的隐私清单 (仅限 iOS)
要向 App Store 通知 Adjust SDK 的隐私要求,您需要将您的隐私清单与 Adjust 的隐私清单合并。
- 将Adjust SDK 隐私清单属性添加至应用的隐私清单。
- 将签名库隐私清单属性添加至应用的隐私清单。
更新初始化方法
在 SDK v4 中,初始化方法为Adjust2dx::start(adjustConfig)
。现已变更为Adjust2dx::initSdk(adjustConfig)
。
变更 API
SDK v5 中变更了下列 API。
禁用或启用 SDK
在 SDK v4 中,您可以通过调用带bool
值的Adjust2dx::setEnabled
来启用和禁用 SDK。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust2dx::disable()
来禁用 SDK。 - 调用
Adjust2dx::enable()
来启用 SDK。
在后台发送信息
在 SDK v4 中,您可以将adjustConfig
实例上的sendInBackground
属性设置为true
,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。
在 SDK v5 中,您需要调用adjustConfig
实例的enableSendingInBackground
方法,以此允许 SDK 在应用后台运行时向 Adjust 发送信息。
预安装应用监测
在 SDK v4 中,您可以使用true
参数来调用adjustConfig
实例的setPreinstallTrackingEnabled
方法,以此来监测预安装应用。
在 SDK v5 中,您需要调用adjustConfig
实例的enablePreinstallTracking
方法来启用预安装应用监测。
禁用 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
。
启用 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
参数的Adjust2dx::setOfflineMode
来启用和禁用 SDK 离线模式。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
Adjust2dx::switchToOfflineMode
将 SDK 设为离线模式。 - 调用
Adjust2dx::switchBackToOnlineMode
将 SDK 重新设为在线模式。
会话回传参数
在 SDK v4 中,您可以通过传递键值对至Adjust2dx::addSessionCallbackParameter
方法来添加会话回传参数,也可以使用Adjust2dx::removeSessionCallbackParameter
方法移除单个参数。
在 SDK v5 中,会话回传参数被重命名为统一参数。
会话合作伙伴参数
在 SDK v4 中,您可以通过传递键值对至Adjust2dx::addSessionPartnerParameter
方法来添加会话合作伙伴参数,也可以使用Adjust2dx::removeSessionPartnerParameter
方法移除单个参数。
在 SDK v5 中,会话合作伙伴参数被重命名为统一合作伙伴参数。
事件去重
在 SDK v4 中,事件去重与事件transaction ID
同时进行且唯一 ID 的数量上限为 10 个。
在 SDK v5 中,该功能与transaction ID
分离。事件去重添加了名为deduplicationId
的新 ID 字段。
您可以自定义deduplicationId
的数量限制,添加到用于识别重复事件的列表中。默认情况下,数量上限为 10 。
App Store 订阅
在 SDK v4 中,您可以通过配置AdjustAppStoreSubscription2dx
对象来设置新的订阅。该对象使用四个参数进行初始化:price
、 currency
、 transactionId
和receipt
。
在SDK v5 中,您无需发送receipt
参数,因为收入验证不再需要此参数。
通过深度链接进行再归因
在 SDK v4 中,您可以将深度链接信息传递至Adjust2dx::appWillOpenUrl
方法。
为清晰起见,在 SDK v5 中,该方法已重命名为Adjust2dx::processDeeplink
。其中添加了新的AdjustDeeplink2dx
类用于构建深度链接。要处理深度链接,请使用您的深度链接 URL 实例化AdjustDeeplink2dx
对象并将其传递至Adjust2dx::processDeeplink
方法。
深度链接解析
在 SDK v4 中,您可以通过将url
传递至Adjust2dx::processDeeplink
方法来解析缩短的深度链接。
在 SDK v5 中,您需要发送使用深度链接url
初始化的AdjustDeeplink2dx
对象。此操作会返回未缩短的原始深度链接。
COPPA 合规
在 SDK v4 中,您可以使用true
值在adjustConfig
实例上调用coppaCompliantEnabled
方法,启用 COPPA 合规。
在 SDK v5 中,您需要在adjustConfig
实例上调用enableCoppaCompliance
方法,启用 COPPA 合规。默认状态为false
。
Play 商店儿童应用
在 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 - 数据驻留 |
---|
AdjustDataResidencyEU | "eu.adjust.com" | true | true |
AdjustDataResidencyTR | "tr.adjust.com" | true | true |
AdjustDataResidencyUS | "us.adjust.com" | true | true |
AdjustUrlStrategyChina | "adjust.world" : "adjust.com" | true | false |
AdjustUrlStrategyCn | "adjust.cn" : "adjust.com" | true | false |
AdjustUrlStrategyCnOnly | "adjust.cn" | true | false |
AdjustUrlStrategyIndia | "adjust.net.in" : "adjust.com" | true | false |
示例
记录广告收入
在 SDK v4 中,您可以通过实例化带有广告收入来源常量的AdjustAdRevenue2dx
对象来记录广告收入。
在 SDK v5 中,您需要使用字符串source
实例化AdjustAdRevenue
对象。
v4 | v5 |
---|
AdjustAdRevenueSourceAppLovinMAX | "applovin_max_sdk" |
AdjustAdRevenueSourceAdMob | "admob_sdk" |
AdjustAdRevenueSourceIronSource | "ironsource_sdk" |
AdjustAdRevenueSourceAdMostSource | "admost_sdk" |
AdjustAdRevenueSourceUnity | "unity_sdk" |
AdjustAdRevenueSourceHeliumChartboost | "helium_chartboost_sdk" |
AdjustAdRevenueSourceAdx | "adx_sdk" |
AdjustAdRevenueSourcePublisher | "publisher_sdk" |
AdjustAdRevenueSourceTopOn | "topon_sdk" |
AdjustAdRevenueSourceMopub | 不再支持 |
关闭 SKAdNetwork 通讯
在 SDK v4 中,您可以通过调用adjustConfig.deactivateSKAdNetworkHandling
方法来阻止 SDK 与 SKAdNetwork 通讯。
在 SDK v5 中,您需要在adjustConfig
实例上调用disableSkanAttribution
方法,以此禁用 SKAdNetwork 通讯。默认状态为true
。
监听转化值更新
在 SDK v4 中,您可以在adjustConfig
实例上调用setPostbackConversionValueUpdatedCallback
方法来监听转化值更新。在 SKAN4 之前,您可以使用setConversionValueUpdatedCallback
方法。
在 SDK v5 中,您需要为adjustConfig
对象的setSkanUpdatedCallback
方法指定一个回传函数。
更新转化值
在 SDK v4 中,您可以使用以下方法之一向 Adjust 发送更新后转化值:
如需更新 SDK v5 中的转化值,请使用带下列参数的updateSkanConversionValue
方法:
conversionValue
( int
):更新后的转化值coarseValue
( std::string
):更新后的粗粒度转化值lockWindow
(bool
):是否在转化窗口结束前发送回调
App Tracking Transparency 授权包装器
在 SDK v4 中,您可以使用Adjust2dx::requestTrackingAuthorizationWithCompletionHandler
方法处理用户 ATT 授权状态变更。
为清晰起见,该参数在 SDK v5 中被重命名为Adjust2dx::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.setDelayStart
来延迟 SDK 的启动,最多延迟 10 秒 。
该方法在 SDK v5 中已被移除。中断此延迟的Adjust2dx::sendFirstPackages()
方法也已被移除。
全局禁用第三方分享
在 SDK v4 中,您可以调用Adjust2dx::disableThirdPartySharing
方法来全面禁用第三方信息分享。
SDK v5 中已删除该功能。在 SDK v5 中,使用Adjust2dx::trackThirdPartySharing
方法来启用或禁用第三方共享。