苹果禁用UDID后续:开发者应尽早放弃UDID

移动开发
此前在雷锋网的《苹果禁用UDID让开发商焦头烂额,如何解决后续问题?》一文中,就曾经引用过Tweetbot开发商Tapbot的Paul Haddad的评论。而Paul在3月29日发布的最新博文中就此事作出确认:“最近有很多谣言说Apple将要拒绝发送UDIDs的应用了,但是一直没有Apple直接的确认。今天上午我们刚刚得到了确认,尽管这是通过被拒绝的形式得到的。”

 

 

此前在雷锋网的《苹果禁用UDID让开发商焦头烂额,如何解决后续问题?》一文中,就曾经引用过Tweetbot开发商Tapbot的Paul Haddad的评论。而Paul在3月29日发布的最新博文中就此事作出确认:“最近有很多谣言说Apple将要拒绝发送UDIDs的应用了,但是一直没有Apple直接的确认。今天上午我们刚刚得到了确认,尽管这是通过被拒绝的形式得到的。”

Paul Haddad的应用的最新版因为使用UDIDs而没有通过Apple的审查。Haddad接到了Apple的一封Email,该Email引用了App Store Review Guidelines(https://developer.apple.com/appstore/guidelines.html)的第17.1节。邮件内容直接指明因TweetBot在未经用户许可的情况下使用UDID,并将UDID信息发送到push.tapbots.com,违反了App Store Review Guidelines中关于用户隐私的第17.1节——“应用在没有得到用户的许可,以及告诉用户哪里可以获取怎样使用以及在哪里使用用户数据的信息之前,不能收集传输用户数据”。经过这一事件,我们终于可以确认苹果的确加强了对应用访问UDID的审核力度,应用开发者应该尽早放弃使用UDID。

 

 

Paul在博客中还写道:“我们在收到上述的拒绝信息2个小时后就修改并且重新上载给了Apple,现在就等待批准了。如果你是一个应用开发者,并且你的应用的一些功能依靠UDID, 现在该是放弃使用它的时候了,因为迟早Apple会抓到你的。”

Tweetbot之所以会调用UDID,是因为Tweetbot会通过UDID记录用户的推送设置,这样当用户重新安装Tweetbot后,可以不用重新设置推送策略,由系统按照之前的用户设置自动完成设置,这一点对于在多台设备上使用Tweetbot的用户来说,是非常方便的设定。现在这项功能将无法继续提供。而苹果在邮件中给出的理由则是“在收集并上传用户个人数据之前,应当明示用户并取得用户同意。”

打压or阴谋?

Apple公司这次整治UDID应用的目的业内引起了众说纷纭,包括打压论、阴谋论等观点也跃然纸上。但其中最直接的理由是自于国会对于Apple对于个人隐私保护的顾虑,苹果最近也饱受隐私问题带来的压力。最近有用户提起诉讼,指控苹果在未获用户许可的情况下对外分享用户浏览历史、应用使用和其他个人细节信息。起诉书写道:“苹果的隐私政策不透明而且令人费解,但是有一件事情是明确的:它向开发者提供用户的UDID,但却没有通知用户。

由于UDID是永久有效并且唯一的标识, 虽然 UDID 本身不能用来识别用户个人,但是由于UDID信息被大量的广告网络、游戏应用、分析平台等系统所收集, 利用数据分析/关联等技术在后端可以还原用户的个人隐私信息,比如用户的兴趣和使用应用的方式等等。 目前,苹果提供了应用内唯一身份标识符,作为替代UDID的解决方案。应用内唯一身份标识在每次安装时会重新生成,以此来避免不同应用之间共用相同的身份信息的问题。

此次事件受影响最大的群体为是广告网络以及数据平台。缺乏用户唯一标识,平台无法追踪到应用内广告以及推广的效果,比如:用户从特定渠道下载应用到安装的转化率。由于Apple并不像Google的Play Store提供安装行为的跟踪机制,开发者和广告网络可以利用这个机制识别每次安装的来源以及确认广告花费,对于目前市场上流行的推广墙以及换量方式的广告会有很大影响。

就近几日各家移动应用开发者对App Store的观察,我们发现目前仍有部分在应用内调用UDID的应用可以通过审核并成功上架。据此推测,现阶段的苹果很可能正在使用黑白名单机制对审核阶段的应用做筛选,以避免App Store出现大面积应用下架,尤其是避免那些拥有巨大用户量的著名应用受到影响。但正如Paul Haddad所说——尽早放弃使用UDID——黑白名单恐怕只是权宜之计。

目前,广大开发者都在积极寻找能够有效替代UDID的手段,比较常用的方案主要分为以下几类:

MAC Address

这是目前最常用的方案:设备的Mac地址Hash后上传, 原理为利用 unix底层的一些系统调用获取。但是使用MAC地址与使用UUID没有本质区别,还是违背了保护用户隐私的初衷,可以预见Apple在不远的将来会对类似的方式加以限制。

Html5+Cookie

这种方式的实现方法主要是利用浏览器的第三方Cookie,生成唯一的标识并且可以跨应用访问。但这一方式的问题是需要应用在启动时打开Safari浏览器,这一动作将导致应用和浏览器之间的一次切换,整体用户体验比较差。据称,在使用Html5技术优化后,该技术可以将应用与Safari之间切换造成的瞬间闪屏时间缩短到几百毫秒。

OpenSource方式

目前有一些开发者提供第三方的开源UDID标识,作为厂商的自救方式。常见的主要有Crashlytics的SecureUDID、AppsFire的OpenUDID,以及Kontagent的MATA方式等。此类技术的原理是利用自定义剪切板可以跨应用访问的特性,生成独立ID保存在系统剪切板内,用于跨应用用户追踪。不过,由于仍然生成唯一设备标识,和防止隐私泄露的初衷冲突,究竟是否会受Apple官方认可,仍需要继续观察。

数据指纹技术

该技术声称不需要依赖UDID,而是通过收集很多小数据段作为设备特征,而这些数据段不具用户隐私特征。如:国外的广告监控公司Hasoffers以及国内统计分析平台Talking Data声称拥有这种技术。其主要原理为:收集众多特征字段,如:浏览器设置、时区、以及硬件等一些基本信息,使用基于机器学习算法计算各字段属于同一台设备的概率,据称其精度可达90%左右。

【编辑推荐】

  1. 拥抱“云存储” 百度网盘超越微软和苹果
  2. 苹果APP排名引出专业刷票公司 好评每个2元
  3. 苹果CEO库克抛售11万股股票套现6400万美元

 

 

 

责任编辑:冰凝儿 来源: 雷锋网
相关推荐

2012-03-27 22:11:20

2012-04-26 22:36:38

苹果

2013-03-22 13:01:41

苹果UDID

2012-05-22 21:56:49

Android

2013-07-22 10:08:28

苹果开发者网站

2021-05-19 14:49:04

CUPS开源苹果

2014-05-30 17:21:04

WWDC2014预测苹果

2012-09-10 10:42:56

2013-08-21 13:47:29

PhoneUDIDUUID

2013-07-18 16:16:51

2014-03-14 13:06:58

手游独立开发者

2012-05-13 12:58:52

2012-07-20 09:22:37

iOS 6苹果

2018-08-07 15:22:15

2012-09-05 14:29:04

2010-06-11 13:28:06

PHPPython

2013-04-25 16:21:46

UDID

2012-03-18 19:03:39

苹果

2012-02-28 15:00:07

开发者IDGatekeeper苹果

2012-10-08 13:16:12

iOS 6
点赞
收藏

51CTO技术栈公众号