App Tracking Transparency
如果使用了App Tracking Transparency,苹果要求在iOS 14.5及以上的版本中必须在弹框取得用户同意后,才可以跟踪用户。否则会被拒:
解决方案
参照官方文档说明(https://developer.apple.com/documentation/apptrackingtransparency),只需要简单两步:
1、添加NSUserTrackingUsageDescription声明
打开info.plist,右键选择Add Row,Key填写Privacy - Tracking Usage Description,Value简单描述收集用户数据的理由,例如我的APP广告SDK用来精准投放广告,则填写“该标识符将用于向您投放个性化广告”,添加后效果如图:
2、在合适的位置调用requestTrackingAuthorization(completionHandler:) 方法,弹框请求
在合适的位置(例如didFinishLaunchingWithOptions方法中),我的APP是在初始化广告SDK时调用:
#import <AppTrackingTransparency/AppTrackingTransparency.h>
- (void)requestIDFA {
if (@available(iOS 14.0, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
}];
}
}
至此,重现打开app,就会有授权弹框。重现提交审核,顺利通过