adjust-icon

SDK v5 迁移指南

Before you begin

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

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

Install the 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来安装依赖。

Changes

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

Initialization method

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

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

Signature setup

SDK v5 包含SDK 签名库。您可以按照签名库集成指南中的测试步骤对此进行测试。

签名保护功能默认处于禁用状态。要启用签名,您需要执行签名验证

Configuration

本节介绍 SDK 配置变更。

Disable and enable the SDK

在 SDK v4 中,您可以通过调用带BOOL值的[Adjust setEnabled]来启用和禁用 SDK。

  • 调用[Adjust setEnabled:NO]来禁用 SDK。
  • 调用[Adjust setEnabled:YES]来启用 SDK。

在 SDK v5 中,为清晰起见,此功能被分成单独的命令。

  • 调用[Adjust disable]来禁用 SDK。
  • 调用[Adjust enable]来启用 SDK。

Send information in background

在 SDK v4 中,您可以使用true参数调用[ADJConfig setSendInBackground]方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。

在 SDK v5 中,您需要调用不带参数的[ADJConfig enableSendingInBackground]方法,让 SDK 在应用在后台运行时向 Adjust 发送信息。

Disable AdServices information reading

在 SDK v4 中,您可以使用false参数调用[ADJConfig setAllowAdServicesInfoReading]方法来阻止 Adjust SDK 读取 AdServices 信息。

在 SDK v5 中,您需要调用不带参数的disableAdServices方法以防止 Adjust SDK 读取 AdServices 信息。

Disable IDFA reading

在 SDK v4 中,您可以使用false参数调用[ADJConfig setAllowIdfaReading]方法来阻止 Adjust SDK 读取设备的 IDFA。

在 SDK v5 中,您需要调用不带参数的disableIdfaReading方法来阻止 Adjust SDK 读取设备的 IDFA。

Enable cost data in attribution

在 SDK v4 中,您可以通过调用带true参数的[ADJConfig setNeedsCost]方法在设备归因信息中启用成本数据。

在 SDK v5 中,您需要在不带参数的情况下调用[ADJConfig enableCostDataInAttribution]方法。

Enable LinkMe

在 SDK v4 中,您可以通过调用带有true参数的[ADJConfig setLinkMeEnabled]方法来启用Adjust LinkMe

在 SDK v5 中,您需要在不带参数的情况下调用[ADJConfig enableLinkMe]方法。

Only read device IDs once

在 SDK v4 中,您可以通过调用带有true参数的[ADJConfig setReadDeviceInfoOnceEnabled]方法来指示 SDK 在启动时仅读取一次设备标识符。

在 SDK v5 中,您需要在不带参数的情况下调用[ADJConfig enableDeviceIdsReadingOnce]方法。

Offline mode

在 SDK v4 中,您可以通过调用带BOOL参数的[Adjust setOfflineMode]来启用和禁用 SDK 离线模式。

在 SDK v5 中,为清晰起见,此功能被分成单独的命令。

  • 调用[Adjust switchToOfflineMode]将 SDK 设为离线模式。
  • 调用[Adjust switchBackToOnlineMode]将 SDK 重新设为在线模式。

Push tokens

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

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

Event buffering

SDK v4 支持事件缓冲。该功能可将请求事件、广告收入、推送标签 (Push token) 和其他信息存储在本地缓冲区中以便在之后发送。

SDK v5 中已删除该设置。

Custom user agent string

SDK v4 支持使用用户代理字符串调用 [AdjustConfig setUserAgent] 来设置自定义用户代理。

SDK v5 中已删除该设置。

Set an App Secret

SDK v4 supports setting an App Secret by calling setAppSecret method on your ADJConfig instance to sign the SDK traffic with.

SDK v5 中已删除该设置。

Set whether a device is known

在 SDK v4 中,您可以调用[AdjustConfig setIsDeviceKnown];方法,手动告知 SDK 设备是否为已知设备。

SDK v5 中已删除该设置。

Delay SDK start

SDK v4 支持通过调用[AdjustConfig setDelayStart];来延迟 SDK 的启动,最多延迟 10 秒

SDK v5 中已删除该设置。

Recording features

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

Session callback parameters

在 SDK v4 中,您可以通过传递键值对至[Adjust addSessionCallbackParameter]方法来添加会话参数,也可以使用[Adjust removeSessionCallbackParameter]方法移除单个参数。

在 SDK v5 中,会话参数被重命名为统一参数。SDK v5 不再以位置参数的形式指定键和值,而是使用forKey实例方法将值指定给键。

Session partner parameters

在 SDK v4 中,您可以通过传递键值对至[Adjust addSessionPartnerParameter]方法来添加会话合作伙伴参数,也可以使用[Adjust removeSessionPartnerParameter]方法移除单个参数。

在 SDK v5 中,会话合作伙伴参数被重命名为统一合作伙伴参数。SDK v5 不再以位置参数的形式指定键和值,而是使用forKey实例方法将值指定给键。

Send subscription information

在 SDK v4 中,您可以使用ADJSubscription类创建订阅信息负载发送至 Adjust。

为清晰起见,此类在 SDK v5 中已重命名为ADJAppStoreSubscription

Event deduplication

在 SDK v4 中,事件去重与事件transaction ID同时进行且唯一 ID 的数量上限为 10 个。

在 SDK v5 中,该功能与transaction ID分离。事件去重添加了名为deduplicationId的新 ID 字段。用户可以自定义deduplicationId的数量限制,添加到用于识别重复事件的列表中。默认情况下,上限为 10

AdjustAttribution class

在 SDK v4 中,AdjustAttribution调用包含一个名为adid的属性。在 SDK v5 中,adid属性已从AdjustAttribution类中移除。您可以使用[Adjust adidWithCompletionHandler] getter 方法获取设备的 ADID。

在 SDK v4 中,您可以将深度链接信息传递至[Adjust appWillOpenUrl]方法。

为清晰起见,在 SDK v5 中,该方法已重命名为[Adjust processDeeplink]

Deferred deep linking callback

在 SDK v4 中,您可以调用adjustDeepLinkResponse方法处理延迟深度链接回传。

在 SDK v5 中,为清晰起见,该方法已被重命名为adjustDeferredDeeplinkReceived 。所有参数都是相同的。

Privacy features

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

COPPA compliance

在 SDK v4 中,您可以使用布尔值在ADJConfig实例上调用setCoppaCompliantEnabled方法,将应用标记为 COPPA 合规。

在 SDK v5 中,为清晰起见,该方法已被重命名为enableCoppaCompliance 。该方法不带参数。

Send ad revenue from a specific source

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

Set data residency and URL strategy

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

[adjustConfig setUrlStrategy:ADJDataResidencyEU];

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

  • useSubdomains (BOOL): 域名是否应被视为 Adjust 域名。若为 true,则 SDK 会为域名添加 Adjust 子域名前缀。若为 false,SDK 会使用收到的域名,不添加任何前缀。
  • isDataResidency ( BOOL ):域名是否用于数据驻留。
NSArray *domain = [];
[adjustConfig setUrlStrategy:domain useSubdomains:YES
isDataResidency:YES];

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

Examples

Disable third party sharing globally

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

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

SKAdNetwork and ATT

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

Disable SKAdNetwork communication

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

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

Check for authorization status change

在 SDK v4 中,您可以使用[Adjust checkForNewAttStatus]方法提示 SDK 读取用户的 ATT 状态并将信息转发至 Adjust 服务器。

该方法在 SDK v5 中已被移除。

Listen for conversion value updates

在 SDK v4 中,您可以使用adjustConversionValueUpdated方法来监听 SKAdNetwork 更新。

在 SDK v5 中,这两种方法已被单个adjustSkanUpdatedWithConversionData方法所取代,该方法会返回无类型字典。当前支持下列键:

  • conversion_value: The updated conversion value.
  • coarse_value: The updated coarse conversion value
  • lock_window: Whether to send the postback before the conversion window ends
  • error: Any error message returned by the update.

Update conversion values

在 SDK v4 中,您可以使用updateConversionValue方法向 Adjust 发送更新后的转化值。此方法包装 Apple 已弃用的updateConversionValue方法,且在 SDK v5 中删除。

如需更新 SDK v5 中的转化值,请使用带下列参数的[Adjust updateSkanConversionValue]方法:

  • conversionValue ( NSInteger ):更新后的转化值
  • coarseValue ( NSString ):更新后的粗粒度转化值
  • lockWindow (BOOL):是否在转化窗口结束前发送回调

App Tracking Transparency authorization wrapper

在 SDK v4 中,您可以使用[Adjust requestTrackingAuthorizationWithCompletionHandler]方法处理用户 ATT 授权状态变更。

为清晰起见,该参数在 SDK v5 中被重命名为[Adjust requestAppTrackingAuthorizationWithCompletionHandler]

Get device information

在 SDK v4 中,所有设备信息 getter 方法都会同步运行。在 SDK v5 中,这些方法已改为异步运行。您可以添加回传函数,在异步流程完成时处理信息。

Plugins

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

Removed plugins

SDK v5 中移除了下列插件:

  • Criteo
  • Trademob
  • Sociomantic