Apple官方說明
https://support.apple.com/zh-cn/HT212025
https://developer.apple.com/cn/app-store/user-privacy-and-data-use/
在iOS14.5及之后的系統版本中默認關閉了IDFA的訪問權限,如需訪問蘋果會給用戶出彈窗提醒,開發者將需要獲得明確的權限才能訪問設備上廣告標識符(IDFA),這樣才能跨應用和網站跟蹤用戶以進行廣告定位,用戶可以在 設置-隱私 中對App權限訪問進行開關控制
關閉權限的影響:
如果用戶拒絕了該權限,調用API時返回的標識為一串全為0的UUID字符串,不會造成Crash
適配的工作:(保留現在SDK的情況下)
1.為了適配需要在Info.plist處增加權限說明字段 NSUserTrackingUsageDescription 並且使用前進行相關的權限請求操作
2.在App的"隱私權限"頁面部分中聲明
無法獲得IDFA的問題
以下情況默認不能獲取:
1.教育機構的設備、或者安裝了明確禁止該權限描述文件的設備
2.使用兒童Apple賬號
3.注冊未滿三天的AppleID登錄的設備
#import <AppTrackingTransparency/ATTrackingManager.h> #import <AdSupport/AdSupport.h> NSLog(@"廣告標識IDFA為:%@", [ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString); if (@available(iOS 14.0, *)) { if (ATTrackingManager.trackingAuthorizationStatus != ATTrackingManagerAuthorizationStatusAuthorized) { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { NSLog(@"追蹤的新狀態為:%@", @(status)); }]; } } else { }
