苹果禁用UDID让有些开发商焦头烂额,其实在我看来这不是一个问题,只要本地存储存在,cookie能用,或者任何一种能够存储信息的方式存在。

目前,很多开发者都找到了适合自己的广告追踪的手段,比较常用的方案主要分为以下几类:

ps:

困扰我多日的,mac os系统图标丢失的问题终于解决了,解决方法就是,重启之后按住shift,进入安全模式 safe mode,然后再重启,图标就可以看到了,如果遇到其他文件权限的问题不能解决,也可以尝试此方法。

  • Advertising Identifier(广告标识符)
    这种方式原理不解释,详见苹果官方文档。
    缺点是如果启用了 Limit Ad Tracking(限制广告跟踪) 功能,那么广告商就无法再向你推荐定向广告。
  • MAC Address
    这是目前比较常用的方案:设备的Mac地址Hash后上传, 利用 unix底层的一些系统调用获取。使用MAC地址与使用UUID没有本质区别,同时违背了保护用户隐私的初衷,也许Apple在不远的将来会对类似的方式加以限制。
  • Html5+Cookie
    这种方式的主要方法是利用浏览器的Cookie,生成唯一的标识,病可以跨应用访问。这和传统的PC端的广告监测的Cookie Mapping方法比较接近,也容易让人接受,但这一方式的主要问题是需要应用在启动时打开Safari浏览器,这一动作将导致应用和浏览器之间的一次切换,整体用户体验比较差。切换的过程可以查看我之前翻译的文章:http://www.wduw.com/p/465.html
  • 数据指纹技术
    这个技术的名称比较多,在Hasoffer公司叫Fingerprint,没有统一的标准和做法。这种技术对外宣称不需要依赖任何敏感的隐私数据,而是通过收集很设备特征有关的数据,拼成一个用户的数据指纹,这些数据包括:浏览器设置、时区、ip、上网时间等一些基本信息,使用基于机器学习的算法计算字段属于同一台设备的概率,精度也会很高,并且如果拥有海量的数据,精度会更高。例如:国外的广告监控公司Hasoffers和国内的Talking Data都是使用的类似的技术。
  • 剪贴板
    目前国外的一些开发者提供了第三方的开源UDID标识,常见三家是Crashlytics的SecureUDID、AppsFire的OpenUDID以及Kontagent的MATA方式等。技术的原理是利用自定义剪贴板,可以跨应用访问的特性,生成独立ID保存在系统剪贴板内,用于跨应用用户追踪。

以上是几种实现的方式,一般来说,一个公司不会拘泥于以上的单独的一个方式,例如友盟的Utrack,下面是从网站上截的图:

原理说明

 欢迎朋友们跟我一起讨论,我的QQ是13689186