IOS下的常用设备标示符

来源:互联网 发布:下载基金软件 编辑:程序博客网 时间:2024/05/29 10:42

IDFA

 • 全名:广告标示符(IDFA-identifierForIdentifier)

 • 代码:

#import <AdSupport/AdSupport.h>

NSString *adId = [[[ASIdentifierManagersharedManager] advertisingIdentifier]UUIDString];

 • 来源:iOS6.0及以后

 • 说明:在同一个设备上的所有App都会取到相同的值,是苹果专门给各广告提供商用来追踪用户而设的,用户可以在 设置|隐私|广告追踪 里重置此id的值,或限制此id的使用,故此id有可能会取不到值,但好在Apple默认是允许追踪的,而且一般用户都不知道有这么个设置,所以基本上用来监测推广效果,是绰绰有余了。

 • 注意:由于IDFA会出现取不到的情况,故绝不可以作为业务分析的主id,来识别用户。

 • 适用于对外:例如广告推广,换量等跨应用的用户追踪等


IDFV

 • 全名:Vindor标示符 (IDFV-identifierForVendor)

 • 代码:

NSString *idfv = [[[UIDevicecurrentDevice] identifierForVendor]UUIDString];

 • 来源:iOS6.0及以后

 • 说明:顾名思义,是给Vendor标识用户用的,每个设备在所属同一个Vender的应用里,都有相同的值。其中的Vender是指应用提供商,但准确点说,是通过BundleID的DNS反转的前两部分进行匹配,如果相同就是同一个Vender,例如对于com.somecompany.appone,com.somecompany.apptwo 这两个BundleID来说,就属于同一个Vender,共享同一个IDFV的值。和IDFA不同的是,IDFV的值是一定能取到的,所以非常适合于作为内部用户行为分析的主id,来标识用户,替代OpenUDID。

 • 注意:如果用户将属于此Vender的所有App卸载,则IDFV的值会被重置,即再重装此Vender的App,IDFV的值和之前不同。

 • 适用于对内:例如分析用户在应用内的行为等


UDID(已禁用)

设备唯一标识符(Unique Device Identifier),每台iOS设备的UDID是唯一且永远不会改变,Apple公司于2013年5月1日开始,拒绝采集UDID的App上架App Store


Mac地址 (已失效)

MAC(Medium/Media Access Control)地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位),MAC地址在网络上用来区分设备的唯一性,显然用来标识一个手机是绰绰有余的了。但是从iOS7及更高版本往后,如果你向IOS设备请求获取mac地址,系统将返回一个固定值“02:00:00:00:00:00”所以将不能使用MAC地址生成设备的唯一标识。


OpenUDID

在Apple拒绝UDID后,OpenUDID作为独立于Apple的开源方案,被广大的开发者所接受,各大统计广告平台都从UDID等方案切换到OpenUDID的方案,但不幸的事,同样由于iOS7对剪贴板的限制,导致同一个设备上应用间,无法再共享一个OpenUDID,即OpenUDID作为设备唯一标识的能力被大大削弱。也可以看到随着iOS7的来临,各广告平台都迅速更新自己的SDK,来切换到苹果的idfa的方案上来。

0 0
原创粉丝点击