【友盟+】开发者社区

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营销推广三大要点
下一篇:关于移动广告推广必须知道的知识点(推广)

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

本版积分规则

发表主题

精彩推荐

别人春节推送故事,你推送事故……
还有2天就过年啦~所以我们准备了【友盟+】的春节放送!U-Push独家秘籍。5分钟让你们轻轻松松推送,欢欢喜喜
U-Time巡回沙龙:超级用户时代数据增值新思维
互联网运营到底有多难,流量吃紧是真的吗?为何“超级用户思维”成为2018第一个被带火的互联网概念?听听
30万亿的新零售生意,从这5个机会说起
2016年10月云栖大会上,马云的一句“未来没有电子商务这一说,只有新零售”让“新零售”成为业内趋之若鹜

关注我们

新浪微博
微信

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

在线客服
返回顶部 返回列表