adjust-icon

SDK v5 迁移指南

操作前须知

在更新到 SDK v5 之前,您需要进行以下操作:

  1. SDK v5 支持SDK 签名验证。如果您当前正在使用 SDK 签名库,则需要先将其卸载。
  2. 如果您的应用针对低于以下版本的 API,则需要先更新应用才能使用 SDK v5:
    • iOS: 12.0
    • tvOS: 12.0

安装 beta SDK

要开始使用 SDK v5,您需要将其添加为 XCode 项目的依赖。为此请进行下列操作:

  1. 请移除Podfile中所有较旧版本的 SDK。

  2. 添加下列行至您的 Podfile

    Podfile
    pod 'Adjust', :git => 'https://github.com/adjust/ios_sdk.git', :branch => 'v5'
  3. 运行pod install来安装依赖。

变更

安装 v5 SDK 后,您需要更新现有的 Adjust 代码以使用新的 API。

初始化方法

在 SDK v4 中,SDK 的初始化方法是配置ADJConfig对象并将其传递至[Adjust appDidLaunch]方法。

在 SDK v5 中,该方法已重命名为[Adjust initSdk]

配置

本节介绍 SDK 配置变更。

禁用或启用 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 重新设为在线模式。

推送标签 (Push token)

在SDK v4 中,您可以使用 [Adjust setDeviceToken] 方法设置推送标签 (Push token)。

在 SDK v5 中,该方法已重命名为[Adjust setPushToken]

事件缓冲

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 中已删除该设置。

记录功能

本节介绍向 Adjust 发送信息的功能变更。

会话回传参数

在 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 。所有参数都是相同的。

隐私功能

本节介绍 Adjust SDK 隐私功能的变更。

《儿童在线隐私权保护法》(COPPA) 合规

在 SDK v4 中,您可以使用ADJConfig类设置COPPA 合规并在 SDK 初始化期间读取。也就是说,SDK 初始化后该值就无法再更新。

在 SDK v5 中,此方法位于Adjust类中。也就是说,您可以随时更改设置,只需调用[Adjust enableCoppaCompliance] 启用 COPPA 合规或调用[Adjust disableCoppaCompliance] 禁用 COPPA 合规。

发送特定来源的广告收入

在 SDK v4 中,广告收入来源被定义为ADJConfig类中的常量。在 SDK v5 中,广告收入来源需要以字符串形式传递。

设置数据驻留和 URL 策略

在 SDK v4 中,URL 策略和数据驻留域名在ADJConfig类中被定义为常量。

[adjustConfig setUrlStrategy:ADJDataResidencyEU];

在 SDK v5 中,您需要将选定的一个或多个域名以数组的形式发送。您还可以进行下列设置:

  • withSubdomains ( BOOL ):来源是否为子域名作为前缀。
  • andDataResidency ( BOOL ):域名是否用于数据驻留。
NSArray *domain = [];
[adjustConfig setUrlStrategy:domain withSubdomains:YES
andDataResidency:YES];

请查看下方表格,了解如何在 SDK v5 中配置 URL 策略。

示例

全局禁用第三方分享

在 SDK v4 中,您可以调用Adjust.disableThirdPartySharing()方法来全面禁用第三方信息分享。

SDK v5 中已删除该功能。在 SDK v5 中,使用[Adjust trackThirdPartySharing]方法来启用或禁用第三方共享。

SKAdNetwork 和 ATT

本节介绍 SDK v5 中对 SKAdNetwork 和 App Tracking Transparency (ATT) 功能的变更。

关闭 SKAdNetwork 通讯

在 SDK v4 中,您可以通过调用[ADJConfig deactivateSKAdNetworkHandling]方法来阻止 SDK 与 SKAdNetwork 通讯。

在 SDK v5 中,为清晰起见,该方法已被重命名为[ADJConfig disableSkanAttribution]

查看授权状态变化

在 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 中,您可以使用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 中,这些方法已改为异步运行。您可以添加回传函数,在异步流程完成时处理信息。

插件

Adjust SDK 支持使用插件来扩展其功能。本节介绍 SDK v5 中的插件变更。

已移除插件

SDK v5 中移除了下列插件:

  • Criteo
  • Trademob
  • Sociomatic