操作前须知
在更新到 SDK v5 之前,您需要进行以下操作:
- SDK v5 支持SDK 签名验证。如果您当前正在使用 SDK 签名库,则需要先将其卸载。
- 如果您的应用针对低于以下版本的 API,则需要先更新应用才能使用 SDK v5:
安装 beta SDK
要开始使用 SDK v5,您需要将其添加为 XCode 项目的依赖。为此请进行下列操作:
-
请移除Podfile
中所有较旧版本的 SDK。
-
添加下列行至您的 Podfile
:
-
运行pod install
来安装依赖。
更新初始化方法
在 SDK v4 中,SDK 的初始化方法是配置ADJConfig
对象并将其传递至[Adjust appDidLaunch]
方法。
在 SDK v5 中,该方法已重命名为[Adjust initSdk]
。
配置 SDK 签名库
SDK v5 包含 SDK 签名库。您可以按照签名库集成指南中的测试步骤对此进行测试。
签名保护功能默认处于禁用状态。要启用签名,您需要执行签名验证。
变更 API
SDK v5 中变更了下列 API。
禁用或启用 SDK
在 SDK v4 中,您可以通过调用带BOOL
值的[Adjust setEnabled]
来启用和禁用 SDK。
- 调用
[Adjust setEnabled:NO]
来禁用 SDK。
- 调用
[Adjust setEnabled:YES]
来启用 SDK。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
[Adjust disable]
来禁用 SDK。
- 调用
[Adjust enable]
来启用 SDK。
在后台发送信息
在 SDK v4 中,您可以使用true
参数调用[ADJConfig setSendInBackground]
方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。
在 SDK v5 中,您需要调用不带参数的[ADJConfig enableSendingInBackground]
方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。
禁用 AdServices 信息读取
在 SDK v4 中,您可以使用false
参数调用[ADJConfig setAllowAdServicesInfoReading]
方法来阻止 Adjust SDK 读取 AdServices 信息。
在 SDK v5 中,您需要调用不带参数的disableAdServices
方法以防止 Adjust SDK 读取 AdServices 信息。
禁用 IDFA 读取
在 SDK v4 中,您可以使用false
参数调用[ADJConfig setAllowIdfaReading]
方法来阻止 Adjust SDK 读取设备的 IDFA。
在 SDK v5 中,您需要调用不带参数的disableIdfaReading
方法来阻止 Adjust SDK 读取设备的 IDFA。
在归因中启用成本数据
在 SDK v4 中,您可以通过调用带true
参数的[ADJConfig setNeedsCost]
方法在设备归因信息中启用成本数据。
在 SDK v5 中,您需要在不带参数的情况下调用[ADJConfig enableCostDataInAttribution]
方法。
启用 LinkMe
在 SDK v4 中,您可以通过调用带有true
参数的[ADJConfig setLinkMeEnabled]
方法来启用Adjust LinkMe 。
在 SDK v5 中,您需要在不带参数的情况下调用[ADJConfig enableLinkMe]
方法。
只读取设备 ID 一次
在 SDK v4 中,您可以通过调用带有true
参数的[ADJConfig setReadDeviceInfoOnceEnabled]
方法来指示 SDK 在启动时仅读取一次设备标识符。
在 SDK v5 中,您需要在不带参数的情况下调用[ADJConfig enableDeviceIdsReadingOnce]
方法。
离线模式
在 SDK v4 中,您可以通过调用带BOOL
参数的[Adjust setOfflineMode]
来启用和禁用 SDK 离线模式。
在 SDK v5 中,为清晰起见,此功能被分成单独的命令。
- 调用
[Adjust switchToOfflineMode]
将 SDK 设为离线模式。
- 调用
[Adjust switchBackToOnlineMode]
将 SDK 重新设为在线模式。
推送标签
在SDK v4 中,您可以使用 [Adjust setDeviceToken]
方法设置推送标签 (Push token)。
在 SDK v5 中,该方法已重命名为[Adjust setPushToken]
。
会话回传参数
在 SDK v4 中,您可以通过传递键值对至[Adjust addSessionCallbackParameter]
方法来添加会话参数,也可以使用[Adjust removeSessionCallbackParameter]
方法移除单个参数。
在 SDK v5 中,会话参数被重命名为统一参数。SDK v5 不再以位置参数的形式指定键和值,而是使用forKey
实例方法将值指定给键。
会话合作伙伴参数
在 SDK v4 中,您可以通过传递键值对至[Adjust addSessionPartnerParameter]
方法来添加会话合作伙伴参数,也可以使用[Adjust removeSessionPartnerParameter]
方法移除单个参数。
在 SDK v5 中,会话合作伙伴参数被重命名为统一合作伙伴参数。SDK v5 不再以位置参数的形式指定键和值,而是使用forKey
实例方法将值指定给键。
发送订阅信息
在 SDK v4 中,您可以使用ADJSubscription
类创建订阅信息负载发送至 Adjust。
为清晰起见,此类在 SDK v5 中已重命名为ADJAppStoreSubscription
。
事件去重
在 SDK v4 中,事件去重与事件transaction ID
同时进行且唯一 ID 的数量上限为 10 个。
在 SDK v5 中,该功能与transaction ID
分离。事件去重添加了名为deduplicationId
的新 ID 字段。用户可以自定义deduplicationId
的数量限制,添加到用于识别重复事件的列表中。默认情况下,数量上限为 10 。
AdjustAttribution 类
在 SDK v4 中,AdjustAttribution
调用包含一个名为adid
的属性。在 SDK v5 中,adid
属性已从AdjustAttribution
类中移除。您可以使用[Adjust adidWithCompletionHandler]
getter 方法获取设备的 ADID。
通过深度链接进行再归因
在 SDK v4 中,您可以将深度链接信息传递至[Adjust appWillOpenUrl]
方法。
为清晰起见,在 SDK v5 中,该方法已重命名为[Adjust processDeeplink]
。
延迟深度链接回传
在 SDK v4 中,您可以调用adjustDeepLinkResponse
方法处理延迟深度链接回传。
在 SDK v5 中,为清晰起见,该方法已被重命名为adjustDeferredDeeplinkReceived
。所有参数都是相同的。
COPPA 合规
在 SDK v4 中,您可以使用布尔值在ADJConfig
实例上调用setCoppaCompliantEnabled
方法,将应用标记为 COPPA 合规。
在 SDK v5 中,为清晰起见,该方法已被重命名为enableCoppaCompliance
。该方法不带参数。
发送特定来源的广告收入
在 SDK v4 中,广告收入来源被定义为ADJConfig
类中的常量。在 SDK v5 中,广告收入来源需要以字符串形式传递。
v4 | v5 |
---|
ADJAdRevenueSourceAppLovinMAX | "applovin_max_sdk" |
ADJAdRevenueSourceAdMob | "admob_sdk" |
ADJAdRevenueSourceIronSource | "ironsource_sdk" |
ADJAdRevenueSourceAdMost | "admost_sdk" |
ADJAdRevenueSourceUnity | "unity_sdk" |
ADJAdRevenueSourceHeliumChartboost | "helium_chartboost_sdk" |
ADJAdRevenueSourceADX | "adx_sdk" |
ADJAdRevenueSourcePublisher | "publisher_sdk" |
ADJAdRevenueSourceTradplus | "tradplus_sdk" |
ADJAdRevenueSourceTopOn | "topon_sdk" |
ADJAdRevenueSourceMopub | "mopub" |
设置数据驻留和 URL 策略
在 SDK v4 中,URL 策略和数据驻留域名在ADJConfig
类中被定义为常量。
在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还可以进行下列设置:
useSubdomains
(BOOL
): 域名是否应被视为 Adjust 域名。若为 true
,则 SDK 会为域名添加 Adjust 子域名前缀。若为 false
,SDK 会使用收到的域名,不添加任何前缀。
isDataResidency
( BOOL
):域名是否用于数据驻留。
请查看下方表格,了解如何在 SDK v5 中配置 URL 策略。
v4 | v5 - 主要和后备域名 | v5 - 使用子域名 | v5 - 数据驻留 |
---|
ADJDataResidencyEU | "eu.adjust.com" | true | true |
ADJDataResidencyTR | "tr.adjust.com" | true | true |
ADJDataResidencyUS | "us.adjust.com" | true | true |
ADJUrlStrategyChina | "adjust.world" : "adjust.com" | true | false |
ADJUrlStrategyCn | "adjust.cn" : "adjust.com" | true | false |
ADJUrlStrategyCnOnly | "adjust.cn" | true | false |
ADJUrlStrategyIndia | "adjust.net.in" : "adjust.com" | true | false |
示例
关闭 SKAdNetwork 通讯
在 SDK v4 中,您可以通过调用[ADJConfig deactivateSKAdNetworkHandling]
方法来阻止 SDK 与 SKAdNetwork 通讯。
在 SDK v5 中,为清晰起见,该方法已被重命名为[ADJConfig disableSkanAttribution]
。
更新转化值
在 SDK v4 中,您可以使用updateConversionValue
方法向 Adjust 发送更新后的转化值。此方法包装 Apple 已弃用的updateConversionValue
方法,且在 SDK v5 中删除。
如需更新 SDK v5 中的转化值,请使用带下列参数的[Adjust updateSkanConversionValue]
方法:
conversionValue
( NSInteger
):更新后的转化值
coarseValue
( NSString
):更新后的粗粒度转化值
lockWindow
(BOOL
):是否在转化窗口结束前发送回调
App Tracking Transparency 授权包装器
在 SDK v4 中,您可以使用[Adjust requestTrackingAuthorizationWithCompletionHandler]
方法处理用户 ATT 授权状态变更。
为清晰起见,该参数在 SDK v5 中被重命名为[Adjust requestAppTrackingAuthorizationWithCompletionHandler]
。
获取设备信息
在 SDK v4 中,所有设备信息 getter 方法都会同步运行。在 SDK v5 中,这些方法已改为异步运行。您可以添加回传函数,在异步流程完成时处理信息。
移除 API
SDK v5 中移除了下列 API。
事件缓冲
SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签 (Push token) 和其他信息存储在本地缓冲区中以便在之后发送。
SDK v5 中已删除该设置。
自定义用户代理字符串
SDK v4 支持使用用户代理字符串调用 [AdjustConfig setUserAgent]
来设置自定义用户代理。
SDK v5 中已删除该设置。
设置设备是否已知
在 SDK v4 中,您可以调用[AdjustConfig setIsDeviceKnown];
方法,手动告知 SDK 设备是否为已知设备。
SDK v5 中已删除该设置。
延迟 SDK 启动
SDK v4 支持通过调用[AdjustConfig setDelayStart];
来延迟 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 中,您可以使用adjustConversionValueUpdated
方法来监听 SKAdNetwork 更新。
在 SDK v5 中,这两种方法已被单个adjustSkanUpdatedWithConversionData
方法所取代,该方法会返回无类型字典。当前支持下列键:
conversion_value
: 更新后的转化值
coarse_value
: 更新后的粗粒度转化值
lock_window
: 是否在转化窗口结束前发送回调
error
: 更新返回的错误信息。
设置应用密钥
SDK v4 支持通过在ADJConfig
实例上调用setAppSecret
方法来设置应用密钥,以此对 SDK 流量进行签名。
SDK v5 中已删除该设置。
移除插件
SDK v5 中移除了下列插件:
- Criteo
- Trademob
- Sociomantic