1

我需要在我的应用程序(iOS8)中使用 IDFA。我这样继续获取 IDFA 字符串:

- (NSString *)identifierForAdvertising
{
    if([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled])
    {
        NSUUID *IDFA = [[ASIdentifierManager sharedManager] advertisingIdentifier];

        return [IDFA UUIDString];
    }
    return nil;
}

在这种方法中,我检查用户是否在此设备设置中启用了 IDFA 跟踪。它运作良好。我注意到如果我在设备设置中打开/关闭 IDFA 跟踪,IDFA 一直在变化。

但是:即使 IDFA 被禁用(在 iOS 设置中),我也可以通过直接调用来获取它:

NSLog(@"==>IDFA %@", [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]);

即使我重新启动我的应用程序,它仍然是一样的。我不明白为什么以及它是如何工作的。

有人有想法吗?谢谢你。问候,

4

1 回答 1

4

国家的文件isAdvertisingTrackingEnabled-

在执行任何广告跟踪之前检查此属性的值。如果值为 NO,则仅将广告标识符用于以下目的:频次上限、归因、转化事件、估计唯一用户数、广告欺诈检测和调试

因此,就跟踪而言,您需要尊重此属性的值,但即使禁用跟踪,您也可以将广告标识符用于其他目的。

于 2015-01-20T10:27:58.883 回答