AppTrackingTransparency 框架
如果您要记录设备的广告主 ID (即 IDFA),需要先展示弹窗获得用户的许可。要达到这个目的,你需要使用 Apple 的App Tracking Transparency (ATT) 框架。用户做出选择后,Adjust SDK 会存储该信息,将其附加到发送至 Adjust 后端的每个包中。
Adjust SDK 会使用以下状态之一来记录用户的决定:
状态 (State) | 含义 |
---|---|
Authorized (授权) | 用户已授予可用于设备跟踪的应用相关数据访问权限。 |
Denied (拒绝) | 用户已拒绝授予可用于设备跟踪的应用相关数据访问权限。 |
Not Determined (待定) | 用户尚未对访问权限请求弹窗做出响应。 |
Restricted (受限) | 用户已在设备层级禁止应用相关数据访问。 |
Adjust SDK 带有针对 Apple 的跟踪授权方法打造的包装器。如果您不想对 ATT 弹窗进行自定义,则可以使用这一包装器。Adjust SDK 会监听授权状态的变化,并将其发送至 Adjust 后端。
如果您使用自己的 ATT 弹窗,则不需要使用包装器方法。您需要将 AppTrackingTransparency.framework
加入您的 应用设置中。您可以在 Adjust SDK 初始化之前或之后展示弹窗。如果在初始化之前展示,那么 Adjust SDK 会将授权状态附加到安装事件中。如果在初始化之后展示,那么 Adjust SDK 会在记录授权状态后将其发送至后端。
应用跟踪授权包装器
Adjust SDK 拥有基于 requestTrackingAuthorizationWithCompletionHandler
方法创建的包装器。您可以利用该包装器收集用户授权状态的相关信息,也可以用这个方法为每个响应值定义回传。当用户与授权窗口互动时会触发回传。Adjust SDK 也会通知 Adjust 后端用户的许可选择。回传将返回一个 整数值 来显示授权状态。
了解当前授权状态
您可以调用 appTrackingAuthorizationStatus
方法 来返回当前授权状态。SDK 会返回一个与授权状态相关的整数值。
查看授权状态变化
应用使用 ATT 包装器时,Adjust SDK 会自动读取用户在 ATT 弹窗中的授权状态变化。如果应用未使用包装器,那么您需要在用户做出选择后读取授权状态。使用 checkForNewAttStatus
方法读取新状态并将其发送至 Adjust 后端。
自定义弹窗时机
如果您的应用包含新手引导流程或教程,那么最好在用户完成新手引导流程或教程后再发送用户的 ATT 许可状态。您可以设置 attConsentWaitingInterval
属性将数据发送延迟最多 120 秒 ,让用户有足够的时间完成初始用户引导。延时结束 或 用户设置许可状态后,SDK 会将在延迟时间内记录的所有信息以及用户许可状态发送给 Adjust 服务器。