【编者注】本文作者为腾云天下CEO@leo_cui,雷锋网特约撰稿人。
此前在雷锋网的《苹果禁用UDID让开发商焦头烂额,如何解决后续问题?》一文中,就曾经引用过Tweetbot开发商Tapbot的Paul
Haddad的评论。而Paul在3月29日发布的最新博文中就此事作出确认:“最近有很多谣言说Apple将要拒绝发送UDIDs的应用了,但是一直没有Apple直接的确认。今天上午我们刚刚得到了确认,尽管这是通过被拒绝的形式得到的。”
PaulHaddad的应用的最新版因为使用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%左右。
分享到:
相关推荐
苹果手机UDID的获取 苹果手机UDID的获取 苹果手机UDID的获取
主要是通过udid.config获取udid,然后通过fastlane链接苹果账号添加udid,更改描述文件,然后下载达到重签的目的
PHP开发的UDID全自动签名工具源码 支持任何api...修改老版本重复提交UDID不显示回调等回调 回调做了防抓包偷取ipa直接调用本地网站 增加后台登录日志功能 自动识别重签名udid,已经修复多抓包漏洞 支持多应用批量签名
flutter_udid 在iOS和Android上重新安装的应用程序之间检索永久性UDID的插件。 入门 import 'package:flutter_udid/flutter_udid.dart'; String udid = await FlutterUdid.udid; 这使用相应平台的格式为iOS和Android...
苹果开发账户中添加Udid,签名证书和ipa打包。其中以Ad_Hoc方式打包iOS应用程序,方便用户用苹果相关产品来测试。
UDID自主签名源码.zip admin CSS font images img includes install js plist static tcjs tj .DS_ Store 1receive.php 1udid.mobileconfig 404.html config.php cxreceive.php cxudid.mobileconfig gengxin.php ...
d6502f7cbbd403dabb044b6e398a1579 {"lists":[{"userid":"100001","appid":892,"udid":"fe80::713d:36ec:e1ed:f4b"},{"userid":"100001","appid ":890,"udid":"fe80::713d:36ec:e1ed:f4b"},{"userid":"100001",...
本Demo内包含 Java端、PHP端,以及 iOS本地搭建服务器,安装 描述文件获取手机唯一UDID 以及回调的方法
iphone UDID读取方法 开发iPhone应用 需要测试机的UDID
PHP 开发的 UDID 全自动签名工具源码 支持...修改老版本重复提交 UDID 不显示回调等回调 回调做了防抓包偷取 ipa 直接调用本地网站 增加后台登录日志功能 自动识别重签名 udid,已经修复多抓包漏洞 支持多应用批量签名
PHP 开发的 UDID 全自动签名工具源码 支持...修改老版本重复提交 UDID 不显示回调等回调 回调做了防抓包偷取 ipa 直接调用本地网站 增加后台登录日志功能 自动识别重签名 udid,已经修复多抓包漏洞 支持多应用批量签名
详细描述获取iphone手机获取device id即UDID的方法的文档
UDID 抓取器 一种获取 iOS UDID 的工具。 专为在 Heroku 上运行而构建。
UDID的代替UUID Keychain
获取iOS-UDID iPhone和iPad的UDID无法再使用应用程序检索。 相反,我们可以使用网页和PHP安装配置文件。 结果将通过电子邮件发送给您。 您需要对文件进行编辑以插入您的Web域名。 进行以下编辑: enroll....
ycudid yc 的 udid
查询iPad/iPhone设备的UDID
iphone开发账户中添加Udid,签名和打包ipa 的详细文档
通过这个小程序,可以获取到当前设备的UDID信息,用于广告等业务
一个证书可以添加100个苹果手机udid,这样每台APP的成本在6块多,也不便宜。但是稳定不会掉签。 该系统完全在linux下运行,不存在使用第三方收费工具,市面上很多系统都是使用的是第三方收费系统,例如:某心签名...