iOS6 UDID - identifierForVendor具有优于identifierForAdvertising的优势吗?


4 Answers

用户可以限制在手机上使用广告跟踪。 请参阅设置>常规>关于>广告下关于选择退出机制的文章

新的ASIdentifierManager类有一个属性ASIdentifierManager ,根据用户是否有限的广告跟踪,该属性返回true或false。 即使设备的广告标识符由advertisingIdentifier属性返回,而不管退出,但如果用户选择退出,则不应使用该标识符。

因此,identifierForVendor的优势在于,无论用户选择加入还是退出广告跟踪,您都可以随时访问并有权使用此ID。

Question

Apple正在更改其iOS6的隐私设置并且不赞成使用设备UUID(UDID)。 根据WWDC演示文稿和文档, UIDevice类中有两个UDID替换项:

-identifierForVendor

  • 来自同一开发人员的应用程序之间的ID相同。
  • 删除该团队ID的最后一个应用后删除。
  • 备份。

-identifierForAdvertising

  • 设备的独特之处。
  • 适用于所有应用程序; 用于广告 - iAd已从iOS 6及更高版本的UDID转换而来。
  • 使用“清除所有内容和设置”进行重置。
  • 备份。

在我看来, -identifierForVendor不如-identifierForAdvertising因为它将在最后一次从供应商卸载应用程序时被重置,并被“清除所有内容和设置”。

-identifierForVendor具有over -identifierForAdvertising优点吗?




identifierForAdvertising在跟踪方面可能更胜一筹,但可能会受到用户当前或未来的选择退出。 另一方面, identifierForVendor不太可能是用户的主题。




要根据iOS 6中设备的唯一标识符创建uniqueString:

#import <AdSupport/ASIdentifierManager.h>

NSString *uniqueString = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog(@"uniqueString: %@", uniqueString);



它们是两个不同的ID,用于两个不同的目的。 我认为identifierForVendor可以用来做需要应用程序链接到特定用户/设备的事物,例如提供推送通知和更新用户的应用程序数据服务器端(比如他们的分数或任何其他数据被存储为他们)。
identifierForAdvertising应该用于诸如有针对性的广告之类的事情,并且还要检查特定广告活动的有效性(检查由于特定广告而知道哪些设备安装了应用程序)。




如果设备上没有更多的应用程序,用户可以在设置中更改identifierForAdvertising,重新安装应用程序后更改identifierForVendor。

这是替代方案,也是获得或持久性的最佳解决方案,交叉安装设备标识符:

说明: https://blog.onliquid.com/persistent-device-unique-identifier-ios-keychain/https://blog.onliquid.com/persistent-device-unique-identifier-ios-keychain/

代码: https://gist.github.com/miguelcma/e8f291e54b025815ca46https://gist.github.com/miguelcma/e8f291e54b025815ca46




Related