我想获取设备 IDFA
。如何从 iOS 官方 API 获取此信息?
最佳答案
首先,您必须征求用户的许可才能使用他们的 IDFA:
#import <AppTrackingTransparency/AppTrackingTransparency.h>
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
// Tracking authorization completed. Start loading ads here.
}];
此权限流只会运行一次,即第一次调用时,即使您重新启动应用程序和/或再次调用它也是如此。如果您想以不同的方式回答,则必须从设备或模拟器中完全删除该应用程序并重新安装。请注意,无论权限流的答案如何,iOS 模拟器都会返回空白 IDFA(全为零)。参见 https://developer.apple.com/documentation/apptrackingtransparency有关详细信息,包括如何自定义在要求跟踪用户时向用户显示的消息。请注意,许多广告 SDK 都有自己的同意流程调用供您使用。
在获得许可后实际获取 IDFA:
#import <AdSupport/ASIdentifierManager.h>
如果您想将其作为 NSString 获取,请使用:
[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]
因此您的代码可能如下所示:
NSString *idfaString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog (@"IDFA: %@", idfaString);
关于ios - 如何从 API 检索 iPhone IDFA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12944504/