设置 App Tracking Transparency

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

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

授权状态

应用跟踪授权包装器

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

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

提示:
如果您使用自定义弹窗,Adjust SDK 也会记录授权状态。如果在初始化之前展示弹窗,那么 SDK 会随安装事件一同发送状态。如果在初始化之后展示弹窗,那么 SDK 会在用户更新状态后立即向后端发送状态。
DartiOS
if (Platform.isIOS){
  Adjust.requestTrackingAuthorizationWithCompletionHandler().then((status) {
    switch (status) {
      case 0:
        // ATTrackingManagerAuthorizationStatusNotDetermined case
        break;
      case 1:
        // ATTrackingManagerAuthorizationStatusRestricted case
        break;
      case 2:
        // ATTrackingManagerAuthorizationStatusDenied case
        break;
      case 3:
        // ATTrackingManagerAuthorizationStatusAuthorized case
        break;
    }
  });
}

示例

了解当前授权状态

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

Dart
Adjust.getAppTrackingAuthorizationStatus();

示例

查看授权状态变化

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

Dart
Adjust.checkForNewAttStatus();