App Tracking Transparency

IDFA(广告标识符)

  • 在 iOS 14.5 之前,广告主可以使用 IDFA(广告标识符)来测量广告效果并进行定向广告。但是 在 iOS 14.5+ 及以上版本引入 ATT(应用追踪透明度)并加强隐私保护后,只有在用户同意的情况下才能获取 IDFA(广告标识符)值.

为提升广告收益,请针对 iOS 14.5+ 做好应对 ATT(App Tracking Transparency)框架 需要进行相关处理。

使用 ATT(App Tracking Transparency)

  • 在 iOS 14.5+ 及以上版本中,若要请求对 IDFA 等标识符的访问与使用权限 请使用 ATT(App Tracking Transparency)同意弹窗才可以。若要通过编码手动获取 IDFA(广告标识符)访问权限,请按照以下五个步骤进行。

建议利用 AdMob UMP(User Messaging Platform)自动处理 ATT(App Tracking Transparency)同意弹窗。

Step 1. 准备 SDK

对于新应用与更新应用,请准备 iOS SDK 版本 2.5.0 及以上,Unity 的情况下请准备 Unity Package 版本 2.5.0 及以上。

Step 2. 配置 SKAdNetwork

无论用户是否同意 ATT,为了衡量苹果官方提供的广告活动的成效, SKAdNetwork 已被引入。要使用 SKAdNetwork,请在 iOS 应用项目中的 Info.plist 文件中添加广告标识符列表信息。.

广告网络支持的标识符列表请参见本指南文档的 SKAdNetwork ID 列表 进行确认。

(示例)

<key>SKAdNetworkItems</key>
    <array>
        <dict>
            <key>SKAdNetworkIdentifier</key>
            <string>example100.skadnetwork</string>
        </dict>
        <dict>
            <key>SKAdNetworkIdentifier</key>
            <string>example200.skadnetwork</string>
        </dict>
    </array>

Step 3. 添加关于权限使用的说明文案

Info.plist 文件中,添加 NSUserTrackingUsageDescription 键以及用于请求用户同意权限使用的提示信息。

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

使用说明消息会显示在 ATT 弹窗中。

Step 4. 权限请求

若要显示权限授权请求,请调用 requestTrackingAuthorizationWithCompletionHandler:

  • ATT 需要在应用完全启动并处于 Active 状态时调用,才能正常显示弹窗。

  • application:didFinishLaunchingWithOptions:中如果调用了 ATT,从 iOS 15 起将不再生效。

  • 当用户授予应用跟踪透明度权限后,在完成 callback 被调用后,请求广告,以便广告 SDK 在广告请求中使用 IDFA

#import <AppTrackingTransparency/AppTrackingTransparency.h>

- (void)requestIDFA {
    if (@available(iOS 14.5, *)) {
        // 通过 ATT 弹窗进行权限请求
        [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
        
        }];
    } 
}

最后更新于

这有帮助吗?