设置 App Tracking Transparency

请注意:
App Tracking Transparency 框架只在 Adjust SDK v4.26.0 及更新版本的 iOS 设备中可用。

如果您要记录设备的广告主 ID (即 IDFA),需要先展示弹窗获得用户的授权。要达到这个目的,你需要在应用中添加 Apple 的App Tracking Transparency (ATT) 框架。Adjust SDK 会存储用户的授权状态并在每次请求中将该信息发送至 Adjust 后端。

授权状态

应用跟踪授权包装器

Adjust SDK 包含关于requestTrackingAuthorizationWithCompletionHandler 方法的包装器。如果您不想对 ATT 弹窗进行自定义,则可以使用这一包装器。

用户对授权窗口做出响应时,回传方法就会被触发。该方法会将用户的授权状态代码发送至 Adjust 后端。您可以在回传函数中定义每种状态代码的响应。

您必须设定跟踪请求窗口中显示的文本。您可以通过两种方式添加此信息:

  1. 将文本添加至 Adjust prefab 中的 User Tracking Description​ 字段。
  2. 将文本添加至Info.plist文件中的NSUserTrackingUsageDescription键。
提示:
如果您使用自定义弹窗,Adjust SDK 也会记录授权状态。如果在初始化之前展示弹窗,那么 SDK 会随安装事件一同发送状态。如果在初始化之后展示弹窗,那么 SDK 会在用户更新状态后立即向后端发送状态。
C#
Adjust.requestTrackingAuthorizationWithCompletionHandler((status) =>
{
    switch (status)
    {
        case 0:
            // ATTrackingManagerAuthorizationStatusNotDetermined case
            break;
        case 1:
            // ATTrackingManagerAuthorizationStatusRestricted case
            break;
        case 2:
            // ATTrackingManagerAuthorizationStatusDenied case
            break;
        case 3:
            // ATTrackingManagerAuthorizationStatusAuthorized case
            break;
    }
});

示例

了解当前授权状态

您可以随时读取用户当前授权状态。调用getAppTrackingAuthorizationStatus方法来以 整数​ 形式返回授权状态代码。

C#
Adjust.getAppTrackingAuthorizationStatus();

示例

查看授权状态变化

如果使用自定义 ATT 弹窗,那么您需要告知 Adjust SDK 用户的授权状态。调用checkForNewAttStatus方法来将授权状态发送至 Adjust 后端。

C#
Adjust.checkForNewAttStatus();