"一开始,他们禁用了UDID,我没说话,因为我们不提取UDID;后来他们禁用了MAC地址,我不关心,因为我们不用MAC地址;再后来他们禁用了Safari Cookie,我还是没说话,因为我用的是公共剪切板;现在OpenUDID也不能用了,我着急了,但我已经不知道该怎么办了……"
以上这种情况,就是摆在不少iOS开发者面前的事实。实际上,在苹果不断紧缩的隐私策略下,能够帮助我们确定设备唯一性的方案已经很少了,而且会越来越少。当然,为此苹果专门推出了IDFA和IDFV,用以帮助开发者确定设备唯一性。但这两种方案都不够稳定,因此在iOS 6时代更多的人选择了OpenUDID或MAC地址等替代性方案。但随着iOS 7的推出,OpenUDID和MAC地址也将无法用于独立设备确认。对于MAC地址而言,被禁用是早晚的事,它与UDID一样,都是每台设备唯一且不可改变,如果MAC地址可以用作独立设备识别,那苹果也就没必要推出IDFA和IDFV,更没有必要禁用UDID了。至于OpenUDID,它实际上利用了跨应用访问公共剪切板的方式,实现了对独立设备的标识,随着iOS 7的推出,跨应用访问公共剪切板已经成为过去,而Safari Cookie也变得非常不稳定,很有可能一次重启就会重置Safari Cookie。那么我们该怎么办?
说到底,为什么独立设备识别如此重要?以至于我们一次又一次的提起,不厌其烦的向大家讲解?原因很简单--只有能够确认设备的唯一性,数据统计、分析、挖掘才能更精确--最简单的莫过于基于设备维度的设备排重计算了。如果没有设备排重,那么所有与设备相关的数据都不准确,更不要提数据分析、挖掘了。另外,从移动广告的角度来看,独立设备识别同样非常重要--无法识别独立设备,甚至无法精确统计广告的到达率,对于移动应用的推广来说,无法识别独立设备就没法精确统计应用的激活量到底有多少,可能连广告费的结算都成问题。
那么我们干脆就用苹果的IDFA不就好了?这不就是专门针对移动广告需求推出的ID系统吗?要知道,苹果为了最大限度的保护用户隐私,是的IDFA可以被重置。只要用户高兴,他随时可以选择重置IDFA,IDFA发生变化后,对于统计系统而言,这台设备就是一台全新的设备。因此,这套方案是存在隐患的,数据准确性难以保证。
如上种种,都是现在iOS平台移动应用开发者马上即将面对的问题,因为9月10号iOS 7将正式降临。届时,还在使用MAC地址的应用会逐渐被强制下架,直到开发者更新程序,不再提取MAC地址,否则应用无法上架。
至于说怎么办?其实很简单,用一套安全的,将来也不会被禁用的设备识别体系,就可以了。其实TalkingData早在iOS 6发布的时候就已经开始着手研究相关解决方案了,不用UDID,不需要提取MAC地址,也不用夸应用访问公共剪切板,更不需要借助Safari Cookie,就可以轻松实现独立设备的识别--这套体系就是TIID(TalkingData Independent ID)。目前TIID已经可以做到不受IDFA、IDFV影响,始终保持一致,即便是用户刷机,但只要恢复数据,即可保持TIID前后一致。唯一会导致TIID发生改变的情况就是用户彻底重置设备且放弃恢复备份的数据--对于一个iOS用户来说,这种事件的发生几率极小,即便是更换新的设备,用户也大多会选择从之前的设备备份数据恢复到新设备上。
目前TalkingData旗下全线数据统计分析产品均采用TIID作为独立设备识别标识,TIID完全遵循苹果应用开发规范,用户无需担心因采用TalkingData数据统计分析产品导致应用无法上架。近期TalkingData的全线数据统计分析产品iOS SDK均已完成更新,用户只需下载最新版SDK即可利用到稳定性更好的TIID设备识别标识,对于之前累计的设备,TalkingData在服务器端的ID Mapping服务会将原有设备ID与现有TIID一一匹配对应起来,这一点用户无需担心因。
iOS 7已经正式发布,从我们的数据平台上观测,iOS 7设备增长迅猛,如果这次再不更换设备识别体系,那么后果就会比较严重了。强制下架、无法通过审核只是个开始,真正麻烦的是之前的累计的设备、应用内广告投放等等,与设备相关的数据都可能会随时出现问题。可以说,更换一套稳定有效的ID系统是所有iOS应用开发者面临的问题,即便不是用TIID,也该想想别的办法了。