UDID本身无害,并未携带用户的任何私人信息,但开发商可以将之与应用里聚集的信息结合,追踪用户行为。如果禁止,影响的不仅仅是广告网络,还有那些想真正为用户带来更好体验的应用开发商,UDID的禁用将会出现导致许多问题,苹果当然会提供备选方案,但能解决问题吗?
苹果在今年二月就已出台一份报告,建议开发商停用UDID。其实开发商通过UDID告诉用户他在某个设备上使用开发商的应用,本身不是件坏事。比如开发商David Barnard只是利用UDID帮助将App Cubby的应用从一台设备同步到另一台设备。若服务器不能分清各个设备,一切就乱了,开发商也就不能为用户提供同步服务。 另一个例子就是非常受欢迎的Twitter应用Tweetbot,它利用UDID来分清消息应该发送到哪台设备,哪台设备已经收到了这条消息,如果没有UDID,应用就无法分清。所以,围绕UDID的问题,不仅仅是广告网络及追踪用户销售产品所面临问题,还有其它种种问题。 开发商要将一个应用在不包含广告的情况下安装在某.立设备上是合法的,苹果也知道自己需要为开发商提供别的选择,所以推荐使用CFUUID(Core Foundation Universally Unique Identifier)。
但并不是每个应用都能很好利用CFUUID,这不是一个好的备选方案。CFUUID只有在应用向iOS系统发出请求时才会被激活,开发商可以将之自行存在某个地方,但它可能被删掉而且从此无法找回,而UDID一旦激活,则会永久存在于设备上。 Tweetbot工作室Tapbots的Paul Haddad说: “CFUUID问题很多,如果你从一台旧设备中备份文件到新设备中,两台设备就拥有相同的CFUUID,如果你从临时文件中备份操作系统,就会出现一个设备里存在不同CFUUID”。
当然,除了CFUUID,还有其它接解决方案,但也存在局限性。比如,利用Mac地址(也就是一台设备的网络硬件ID),但是它就像UDID一样是永久的,会被网管禁止访问。 黑客通常会通过Mac地址识别用户设备所在地,如果苹果禁用UDID,接下来就可能禁用Mac地址。Haddad说: “如果你想以一种万无一失的方法追踪某台设备,现在还没有比UDID更合适的选择。当人们想彻底清理,储存,更新设备时,UDID的缺失会为开发商带来许多难题。停用UDID不仅仅是对广告网络及那些使用UDID追踪用户行为而盈利的人造成冲击,也会对想要真正为用户带来更好体验的开发商造成影响”。 当然,也有其它解决方案,利用现在的UDID或Mac地址以及app的ID进行加密,作为每个应用,每台设备的的独立序列号,但这种方法在多个程序之间追踪用户就行不通,像Openfeint及Appfire就通过在应用生态系统内使用登录系统作为替代方案,但这种方法不是对每个应用都适用。
bygqzhu