iOS获取设备唯一标识的各种方法IDFA,IDFV,UDID分别是什么含义

iOS获取设备唯一标识的各种方法IDFA,IDFV,UDID分别是什么含义,第1张

udid的全称是unique

device

identifier,顾名思义,它就是苹果ios设备的唯一识别码,它由40个字符的字母和数字组成。在很多需要限制一台设备一个账号的应用中经常会用到。在ios5中可以获取到设备的udid,后来被苹果禁止了。

idfa(identifierforidentifier)

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

是ios

6中另外一个新的方法,提供了一个方法advertisingidentifier,通过调用该方法会返回一个nsuuid实例,最后可以获得一个uuid,由系统存储着的。不过即使这是由系统存储的,但是有几种情况下,会重新生成广告标示符。如果用户完全重置系统((设置程序

->

通用

->

还原

->

还原位置与隐私)

,这个广告标示符会重新生成。另外如果用户明确的还原广告(设置程序->

通用

->

关于本机

->

广告

->

还原广告标示符)

,那么广告标示符也会重新生成。关于广告标示符的还原,有一点需要注意:如果程序在后台运行,此时用户“还原广告标示符”,然后再回到程序中,此时获取广

告标示符并不会立即获得还原后的标示符。必须要终止程序,然后再重新启动程序,才能获得还原后的广告标示符。

在同一个设备上的所有app都会取到相同的值,是苹果专门给各广告提供商用来追踪用户而设的,用户可以在

设置|隐私|广告追踪

里重置此id的值,或限制此id的使用,故此id有可能会取不到值,但好在apple默认是允许追踪的,而且一般用户都不知道有这么个设置,所以基本上用来监测推广效果,是戳戳有余了。

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

idfv(identifierforvendor)

vindor标示符,适用于对内:例如分析用户在应用内的行为等。

是给vendor标识用户用的,每个设备在所属同一个vender的应用里,都有相同的值。其中的vender是指应用提供商,但准确点说,是通过bundleid的dns反转的前两部分进行匹配,如果相同就是同一个vender,例如对于comsomecompanyappone,comsomecompanyapptwo

这两个bundleid来说,就属于同一个vender,共享同一个idfv的值。和idfa不同的是,idfv的值是一定能取到的,所以非常适合于作为内部用户行为分析的主id,来标识用户,替代openudid。

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

1首先找到对应的包,把ipa包改名zip解压缩;

2右击查看包里的内容,找到名字为:embeddedmobileprovision证书文件;

3打开电脑终端,进入原来embeddedmobileprovision的目录,然后运行命令行:security cms -D -i embeddedmobileprovision

UDID可以看作为苹果设备的身份z号

NSString uuid = [[UIDevice currentDevice] uniqueIdentifier];获取设备的udid

生成iOS设备唯一标示符的方法是使用iOS设备的Media Access Control(MAC)地址。一个MAC地址是一个唯一的号码,它是物理网络层级方面分配给网络适配器的。这个地址苹果还有其他的名字,比如说是硬件地址(Hardware Address)或是Wifi地址,都是指同样的东西。

有很多工程和框架都使用这个方法来生成唯一的设备ID。比如说ODIN。然而,苹果并不希望有人通过MAC地址来分辨用户,所以如果在iOS7系统上查询MAC地址,它现在只会返回02:00:00:00:00:00。

现在苹果明确的表明应该使用-[UIDevice identifierForVendor]或是-[ASIdentifierManager advertisingIdentifier]来作为你框架和应用的唯一标示符。坦白的来说,应对这些变化也不是那么的难,见以下代码片段:

NSString identifierForVendor = [[UIDevice currentDevice]identifierForVendor UUIDString];

NSString identifierForAdvertising = [[ASIdentifierManager sharedManager]advertisingIdentifier UUIDString];

每种方法都适配一种特别的用法:

identifierForVendor对供应商来说是唯一的一个值,也就是说,由同一个公司发行的的app在相同的设备上运行的时候都会有这个相同的标识符。然而,如果用户删除了这个供应商的app然后再重新安装的话,这个标识符就会不一致。

advertisingIdentifier会返回给在这个设备上所有软件供应商相同的 一个值,所以只能在广告的时候使用。这个值会因为很多情况而有所变化,比如说用户初始化设备的时候便会改变。

以上就是关于iOS获取设备唯一标识的各种方法IDFA,IDFV,UDID分别是什么含义全部的内容,包括:iOS获取设备唯一标识的各种方法IDFA,IDFV,UDID分别是什么含义、iOS 查看ipa包里包含的设备UUID、UDID是什么 如何获取iOS设备UDID等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10216763.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存