При каких условиях сбрасывается "рекламный идентификатор" Apple?

кроме пользователя, вручную сбрасывающего его, кто-нибудь наблюдал другие вещи, которые приведут к сбросу ADID? Обновления OTA OS? iTunes не восстанавливает?

3 ответов


(последствия advertisingIdentifier и identifierForVendor, как протестировано на iPhone 3GS с iOS 6.0.1 и iOS 6.1.3 и iPhone 4S с iOS 6.1.3 и iOS 7.0.0)

  • "сбросить все настройки" в настройках iOS app
    нет эффекта

  • "стереть все содержимое и настройки" в настройках iOS app
    сброс как advertisingIdentifier и identifierForVendor.

  • восстановление устройства через в iTunes
    сброс как advertisingIdentifier и identifierForVendor.

  • удаление приложения с устройства
    сброс identifierForVendor, если это было последнее приложение с определенным идентификатором команды.

  • обновление приложения (автоматически или через App Store)
    нет эффекта

  • обновление приложения через TestFlight или Ad-Hoc
    может сбросить identifierForVendor, согласно документация.

  • включение / выключение "ограничить отслеживание рекламы"
    iOS 6.0.1: нет эффекта
    iOS 6.1.3: сбрасывает advertisingIdentifier.

  • обновление системы OTA (iOS 6.0.1-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. Примечание: Если вы удалите несколько приложений с ID команды до восстановления identifierForVendor никогда не будет перезагрузите снова, пока не переустановите все приложения с тем идентификатором команды, который у вас был установите и удалите их снова. Похоже, это ошибка.

  • восстановление резервной копии через iTunes (в другое устройство)
    сброс как advertisingIdentifier и identifierForVendor.


(1) Насколько я понимаю, это не должно происходить с приложениями в App Store. Похоже, это связано с количеством компонентов в bundleID приложения и соответствующим профилем подготовки:примечания к выпуску приложения iOS 7 относительно развертывания приложения
В моих тестах identifierForVendor в приложениях с 4 компонентами сделал change (для версий с любым профили подготовки разработчиков или корпоративных дистрибутивов), но не изменение для тех, у кого 3 компонента.


двух случаях:

  • вручную выбрать "сброс рекламного идентификатора". Но если приложение работает в фоновом режиме, идентификатор будет оставаться активным до перезапуска приложения.
  • вручную выбрав "сбросить все содержимое и настройки".

резервное копирование, обновление ОС, переустановка приложения или выбор "ограничить отслеживание рекламы" не сбросит идентификатор.

AFAIK вы можете отправить идентификатор поставщика и идентификатор рекламы на сервер, и когда пользователь сбрасывает идентификатор рекламы с "сбросить идентификатор рекламы", вы можете сопоставить новый со старым, потому что идентификатор поставщика сохраняется. Не знаю, как Apple намерена предотвратить это.


нет официального, окончательного списка от Apple. В документации указано только:

этот идентификатор может измениться-например, если пользователь стирает устройство-поэтому вы не должны кэшировать его.

Apple не дает никаких дополнительных подробностей. Известно, что сброс устройства изменяет ADID, как и пользователь вручную сбрасывает его сам (где эта функция доступна, поэтому iOS 6.1+). Я не смог найти ничего, что предлагает обновление ОС сбросит идентификатор.

конечно, возможно другое, недокументированное поведение сбрасывает идентификатор, но я не смог найти ничего другого.