【发布时间】:2013-02-02 05:58:32
【问题描述】:
iOS6 的新 IDFA features 可以很好地用于运行 iOS6 的用户的转化跟踪。但是,如果应用的最低支持版本低于 iOS 6,那么在 iOS6 之前的设备上运行时,可接受的处理方法是什么?
Jumptap mentions,您仍然可以在 iOS6 之前的设备上使用 UDID:
广告标识符 (IDFA) 是在 iOS 6 中引入的。广告商使用它来跟踪转化和高级定位等。在使用 iOS 6(或更高版本)的设备上,IDFA 旨在取代 UDID 作为设备标识符。在使用 iOS 5(或更低版本)的设备上,Apple 将继续支持使用 UDID 作为设备标识符。
不过,这对我来说并不好。 iOS 版本检查是运行时的事情,这意味着您的代码将始终静态链接到已弃用的 UDID 访问器,并且仅在运行时决定是否读取它。当然,Apple 的审核过程会看到指向 UDID 的静态链接并拒绝该应用程序。他们不会反编译代码并确认您的逻辑是正确的,或者尝试进行 100% 的代码覆盖率测试以确认在 iOS6 中运行时它永远不会被读取。是吗?!?!
另外,AppsFlyer mention that UDID's can be enabled in their SDK,附注:
*UDID 详细信息:某些广告网络(例如 Tapjoy)需要 UDID 才能运行 CPI 活动。在上述情况下,您需要启用 UDID 并使用明确的隐私声明更新您的应用条款和条件,通知您的用户收集他们的私人信息。
这似乎意味着只要您通知用户,仍然允许读取 UDID。但是,我在 Apple 官方文档中找不到任何提及。
【问题讨论】: