【友盟+】开发者社区

IOS应用开发中的设备标识

发表于 2014-9-19 14:08:33 | |阅读模式

umtracker
umtracker 发表于 2014-9-19 14:08:33 | 显示全部楼层 |阅读模式
本帖最后由 umtracker 于 2014-9-19 14:11 编辑

对于iOS应用开发者来说,苹果所提供的官方后台系统实际上就是iTunes Connect了。通过iTunes Connect我们创建应用记录,提交应用给苹果审核,发布应用,通过iTunes Connect我们可以配置银行卡收钱( 这个很重要:) ),我们可以看到应用的下载量和收据数据报表。
但总体来说iTunes Connect提供的功能还比较有限,而且基本不能定制(除非你能说服苹果)。
对于应用发布后的跟踪和数据收集,很多时候是iTunes Connect之外的事情,甚至有些开发者对于闪退日志收集等也抛弃了iTunes Connect的crash report。那么一个识别具体设备的标志,或者说能够区分不同设备的方法就显得很重要。
(1)udid
在iOS6.1及之前,我们可以再UIKit.framework的UIDevice类中看到一个属性,那就是uniqueIdentifier,也就是我们通常所提到的UDID。
但这个属性的声明后面,有NS_DEPRECATED_IOS(2_0, 5_0),意思就是5.0开始就是deprecated的了,是过时的,不建议再继续使用。
到了iOS SDK的7.0版本,在UIDevice类中,就再也找不到这个uniqueIdentifier属性了。而且苹果方面明确表示在2013年5月份之后不再对此支持。
(2)identifierForVendor (IDFV)
这是苹果安抚大家的一个UDID的替代品,也是UIDevice类的属性。
按照苹果的文档说明,这个IDFV在同一设备上的所有同Vendor应用得到的ID是相同的,而不同的设备就有不同的IDFV。当这个设备上,同Vendor的所有应用都被卸载掉之后,不能保证同一设备再次安装这个Vendor的应用时,得到同样的ID。
简单来说,如果一个设备上只装了你一个应用,卸载掉再装ID也许就不同了。这样,对于唯一设备的定义就和原来UDID的很不同。这点并不令广大开发者感到满意。
(3)MAC地址
如上所述,identifierForVendor不是很令大家满意,于是各种民间方法就出现了。一个方案就是用MAC地址。
学过计算机网络课程的同学们应该了解,要先完成底层网络通信实现MAC地址是必须有的,而这个在网卡制造时要保证全球唯一的,一个设备通常一个网卡就够用了,所以这个在一定程度上可以作为设备标识。
于是乎,拿出了各种底层库,做各种计算,拿到一个MAC地址字符串。
(4) advertisingIdentifier (IDFA)
苹果为了完善自己的生态圈,在2010年前后推出了iAd广告网络。那么这个advertisingIdentifier和这个iAd的关系就不言自喻了。如果不了解广告也没关系,简单来讲,现在的互联网广告精准投放需要了解用户数据,基于这些信息是的广告更有效率,唯一标识就很重要,就用到了IDFA。
advertisingIdentifier在AdSupport.framework的ASIdentifierManager类中,是其中两个属性中的一个。
可以说,用这个IDFA标识设备应该还是很精准的(不然iAd就彻底不用玩了),很多开发者还在使用。








上一篇:开发者必须知道的App营销推广三大要点
下一篇:关于移动广告推广必须知道的知识点(推广)

您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发表主题

精彩推荐

U-App即将升级,一站式运营你的“超级用户”
底部大福利,可优先体验内测账号哦~ 超级用户火了,因为互联网公司都感受到存量竞争的压力,App的运营核心
关于事件计算口径变更说明(2018.5.15)
影响范围:AppTrack产品全局数据1)计算基准的变更事件计算的周期基准变更:计算基于点击发生日期后续15天
友盟+大揭秘:阿里“亲橙里”的数据黑科技
4月28日,阿里首个智慧商业亲橙里开业。汇集盒马鲜生、天猫国际、天猫精灵、阿里小厨等众多业态,亲橙里通

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

返回列表