除了用户手动重置之外,有没有人观察到其他会导致 ADID 重置的事情?OTA 操作系统升级?iTunes 恢复?
3 回答
(对advertisingIdentifier
和的影响identifierForVendor
,在装有 iOS 6.0.1 和 iOS 6.1.3 的 iPhone 3GS 和装有 iOS 6.1.3 和 iOS 7.0.0 的 iPhone 4S 上进行测试)
iOS设置应用程序中的“重置所有设置”
无效iOS 设置应用程序中的“抹掉所有内容和设置”
同时重置advertisingIdentifier
和identifierForVendor
.通过 iTunes 恢复设备
会同时重置advertisingIdentifier
和identifierForVendor
。如果这是具有特定团队 ID 的最后一个应用程序,则从设备中删除应用程序会
重置。identifierForVendor
更新应用程序(自动或通过 App Store)
无效根据文档,通过 TestFlight 或 Ad-Hoc 更新应用程序
可能会重置.identifierForVendor
启用/禁用“限制广告跟踪”
iOS 6.0.1:无效
iOS 6.1.3:重置advertisingIdentifier
.系统更新 OTA (iOS 6.0.1 to iOS 6.1.3)
无效系统更新 OTA(iOS 6.1.3 到 iOS 7.0.0)在某些情况下
重置。identifierForVendor
(1)通过 iTunes 进行系统更新(iOS 6.1.3 到 iOS 7.0.0)在某些情况下会
重置。identifierForVendor
(1)iOS 设置应用程序中
的“重置广告标识符”重置advertisingIdentifier
. 如果某些正在运行(或暂停)的应用程序已经请求了一个advertisingIdentifier
,它们将无法检索新的应用程序,直到它们被停止并重新启动。通过 iTunes 备份
无效通过 iTunes 恢复备份(到同一设备)
恢复备份的设置,包括advertisingIdentifier
和identifierForVendor
. 注意:如果您在恢复之前删除了多个具有某个 Team ID 的应用程序,则在identifierForVendor
您重新安装具有您已安装的该 Team ID 的所有应用程序并再次删除它们之前,该应用程序将永远不会再次重置。这似乎是一个错误。通过 iTunes 恢复备份(到不同的设备)
重置advertisingIdentifier
和identifierForVendor
。
(1) 据我了解,App Store 中的应用程序不应该发生这种情况。它似乎与应用程序的 bundleID 中的组件数量和相应的配置文件有关:iOS 7 App Release Notes about App Deployment
在我的测试中,identifierForVendor
具有 4 个组件的应用程序确实发生了变化(对于具有开发人员或企业分发配置的版本配置文件),但对于具有 3 个组件的组件没有更改。
两种情况:
- 手动选择“重置广告标识符”。但如果应用程序在后台运行,则标识符将保持活动状态,直到应用程序重新启动。
- 手动选择“重置所有内容和设置”。
备份、操作系统升级、应用重新安装或选择“限制广告跟踪”不会重置标识符。
AFAIK您可以将供应商ID和广告ID发送到服务器,当用户使用“重置广告标识符”重置广告ID时,您可以将新的与旧的匹配,因为供应商ID仍然存在。不知道苹果打算如何阻止这种情况。
Apple 没有官方的、明确的清单。该文档仅说明:
这个标识符可能会改变——例如,如果用户擦除了设备——所以你不应该缓存它。
苹果没有提供任何进一步的细节。众所周知,重置设备会更改 ADID,就像用户自己手动重置它一样(此功能可用,因此 iOS 6.1+)。我找不到任何暗示操作系统更新会重置标识符的东西。
当然,其他未记录的行为可能会重置标识符,但我找不到其他任何东西。