概述
一、IMEI
International Mobile Equipment Identity,国际移动设备身份码,在手机组装完成后赋予的一个全球唯一的号码,由于此时IPhone只支持单卡,所以IMEI和IPhone是一一对应的
iOS 2提供了一种方法获取IMEI,但是为了保护用户隐私,iOS 5以后苹果不再允许获取IMEI了,如果你在应用中获取IMEI,可能会遭到Apple Store的拒绝
二、IDFA
Identifier for Identifier,即广告标识符,多用于用户的广告追踪,是每台设备的唯一ID,IDFA存储在用户的系统上
Apple是不允许开发者追踪用户设备的,但是为了监控广告效果,在 iOS 6中提供这个折中方案,但IDFA也会发生变化,比如重置系统、还原广告标识符等
同时,用户也可以选择是否禁止广告追踪(即商家没办法根据用户的行为偏好推送广告)
三、UDID
Unique Device Identifier,即设备唯一标识,在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI
-
用于一些统计与分析目的;第三方统计工具如友盟,广告商如ADMOB等
-
将UDID作为用户ID来识别唯一用户,省去用户名、密码等注册过程
-
UDID被弃用可以使用UUID来作为设备的唯一标识
获取到UUID后,如果用NSUserDefaults存储,当程序被卸载后重装时,再获得的UUID和之前就不同了
使用keychain存储可以保证程序卸载重装时,UUID不变
但当刷机或者升级系统后,UUID还是会改变的
四、Mac 地址
Medium/Media Access Control,网络设备的物理地址,如果IMEI被认为是设备的唯一标识,那么Mac就是网络接口唯一标识
学过计算机网络都知道,在根据IP进行物理寻址的时候就是使用的Mac地址
同样由于隐私问题,在iOS 7之后无法通过Mac地址来标识唯一设备,因为在iOS 7之后获取到的Mac地址为一固定值
五、NSUUID
Universally Unique IDentifier,即通用唯一识别码,UUID是一个软件建构的标准,也是被开源软件基金会(Open Software Foundation,OSF)的组织在分布式计算环境(Distributed Computing Environment,DCE)领域的一部分
UUID的目的,是让分布式系统中的所有元素都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定
根据以上定义可知,同一设备上的不同应用的UUID是互斥的,即能在改设备上标识应用;但是并没有明确指出能标识出装有同一应用的不同设备,据推测,这个UUID应该是根据设备标识和应用标识生成唯一标识,再经过加密而来的
NSUUID与之前的CFUUID是一致的,只是改成了Objective-C的接口而已,NSUUID每次获取的值都会发生变化,但是它会保持唯一性
UIDevice.current.identifierForVendor?.uuidString
六、IDFV
identifierForVendor,Vendor标示符,也被称为厂商标识符,只要用户的设备中没有卸载当前Vendor的所有APP,则不会发生变化
什么是Vendor ?可以理解成bundleID的前两部分,例如对于com.joy.app_1和com.joy.app_2这两个bundleID来说,就属于同一个Vendor,共享同一个IDFV
IDFV比较适合追踪用户行为,目前多配合Keychain来搭配使用,来保证不管是否卸载重装,IDFV都是不变的
NSString *idfv = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
七、LC_UUID
其实这个和Device ID没什么关系,但是因为也叫UUID,防止造成误解,所以来解释下
LC_UUID可以这么理解,是用来标示Mach-O的,如果去查看你APP的崩溃日志,你会发现应用的可执行程序和各种库都有自己的UUID,你在进行符号解析的时候,就需要找到与系统库和你APP的UUID相同的符号文件来进行堆栈地址还原
八、结论
想要通过UDID、Mac地址、OpenUDID来定位用户设备已经是不可能了,因为它们要么是无效,要么是受到了App Store的限制;但是如果你想要追踪广告的话,可以使用IDFA,想要用来分析用户行为可以使用IDFV + KeyChain来解决
最后
以上就是精明乐曲为你收集整理的设备唯一标识的全部内容,希望文章能够帮你解决设备唯一标识所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复