DFA(广告标识符)-identifierForldentifier
依赖:AdSupport.framework
系统支持:iOS6及以上系统
获取方式:[ASIdentifierManager sharedManager].advertisingIdentifier.UUIDString
定义: 由数字和字母组成的用来标识唯一设备的字符串。
特点:
-
每个设备只有一个IDFA,不同APP在同一设备上获取IDFA的结果是一样的
-
设备重启不会产生新的IDFA
-
但IDFA存在重新生成的情况:
-
用户完全重置系统(设置程序 -> 通用 -> 还原 -> 还原位置与隐私)
-
用户明确还原广告(设置程序-> 通用 -> 关于本机 -> 广告 -> 还原广告标示符)
-
如何获取
1、在工程-TARGET-GENERAL-Linked Frameworks and Libraries中添加AdSupport.framework
2、在使用到得类别中引用
#import <AdSupport/AdSupport.h>
3、通过以下代码获取
NSString *udid = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
注意事项
由于Appstore禁止不使用广告而采集IDFA的app上架,采集IDFA是为了防止今后因为苹果可能禁止目前使用的openudid而造成的数据波动。
关于IDFA,iTunes Connect上架提交审核的时候有所说明:
而如果使用到了IDFA的,要在对应的选项中勾选 是 ;
(图片引用自网上)
一般来讲的建议是:
1、如果你的应用里只是集成了广告,不追踪广告带来的激活行为,那么选择1和4;
2、如果你的应用里没有集成广告,但是需要追踪广告带来的激活行为,那么选择2,3和4(或者2和4);
3、如果你的应用里集成了广告,而且使用了umtrack来追踪广告带来的激活行为,需要选择1,2,3和4
IDFV-identifierForVendor
依赖:UIKit.framework
系统支持:iOS6及以上系统
获取方式:[UIDevice currentDevice].identifierForVendor.UUIDString
定义:由数字和字母组成的用来标识唯一设备的字符串。
特点: 根据vendor的值,如果vendor相同,则返回同一字符串;如果vendor不同,则返回不同的字符串。
vendor解释:英文解释为卖家,小贩。根据xcode文档解释,正常情况下,会根据App Store提供的数据进行判断。但是如果app不是通过app store进行安装的(如企业应用或开发调试阶段),那么会根据bundle ID判断。
网友评论