如果您要记录设备的广告主 ID (即 IDFA),需要先展示弹窗获得用户的授权。要达到这个目的,您需要在应用中添加 Apple 的 App Tracking Transparency (ATT) 框架。Adjust SDK 会存储用户的授权状态并在每次请求中将该信息发送至 Adjust 服务器。
授权状态
状态 | 代码 | 描述 |
---|
ATTrackingManagerAuthorizationStatusNotDetermined | 0 | 用户尚未对访问权限请求弹窗做出响应 |
ATTrackingManagerAuthorizationStatusRestricted | 1 | 用户已在设备层级禁止应用相关数据访问 |
ATTrackingManagerAuthorizationStatusDenied | 2 | 用户已拒绝授予可用于设备跟踪的应用相关数据访问权限 |
ATTrackingManagerAuthorizationStatusAuthorized | 3 | 用户已授予可用于设备跟踪的应用相关数据访问权限 |
应用跟踪授权包装器
Adjust SDK 包含 Apple requestTrackingAuthorizationWithCompletionHandler
方法的包装器。如果您不想对 ATT 弹窗进行自定义,则可以使用这一包装器。
用户对授权窗口做出响应时,回传方法就会被触发。该方法会将用户的授权状态代码发送至 Adjust 服务器。您可以在回传函数中定义每种状态代码的响应。
您必须设定跟踪请求窗口中显示的文本。为此,请将文本加入 Info.plist
文件中的 NSUserTrackingUsageDescription
key。
示例
该示例展示了当用户与弹窗交互时,我们如何记录一个人类可读的用户授权状态描述。
了解当前授权状态
您可以随时读取用户当前授权状态。调用 getAppTrackingAuthorizationStatus
方法来以 整数 形式返回授权状态代码。
示例
该示例展示了如何收集用户授权状态并将其转化为 String
。我们会为该信息指定一个名为 authorizationStatus
的变量,并将其作为会话合作伙伴参数使用 "status"
key 传送。
查看授权状态变化
如果使用自定义 ATT 弹窗,那么您需要告知 Adjust SDK 用户的授权状态。调用 checkForNewAttStatus
方法,以向 Adjust 服务器发送授权状态。