iOS - 取得 IDFA
适用于 iOS 14 以上版本
适用于 iOS 14 以上版本
根据App Store 对于自iOS 14 起隐私及数据使用政策的说明,自iOS 14 起,将会限制App 取得IDFA 的方式,App 必须透过呼叫App Tracking Transparency framework,向用户发出允许App Tracking 授权的请求。本文将说明如何在 App 中实作 ATT framework 以取得用户授权。
Note: 如果没有实作 ATT framework,将会完全无法取得 IDFA,间接影响您的广告收益
请先在专案中的 Info.plist 中,加入 NSUserTrackingUsageDescription
,用于告知用户此权限将如何被使用的简短描述。
<key>NSUserTrackingUsageDescription</key>
<string>Your data will be used to deliver personalized ads to you.</string>
Note: 在文案撰写上,建议可以先说明该权限及数据用途,以提高用户允许的意愿。例如:这项资料会被用来提供个人化广告给您 (Your data will be used to deliver personalized ads to you.)。
请参考以下范例实作 ATT Framework,询问用户是否允许 App 透过 IDFA 进行追踪。
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
} else {
}
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { _ in
}
} else {
// Fallback on earlier versions
}
Note: 为了避免影响广告收益,我们建议您在初次发出广告请求前,先向用户取得允许 App Tracking 的授权