За исключением того, что пользователь вручную перезагрузил его, кто-нибудь заметил другие вещи, которые приведут к тому, что ADID будет reset? OTA OS Upgrades? iTunes восстанавливается?
При каких условиях Apple 'advertisingIdentifier' reset?
Ответ 1
(эффекты на advertisingIdentifier
и identifierForVendor
, проверенные на iPhone 3GS с iOS 6.0.1 и iOS 6.1.3 и iPhone 4S с iOS 6.1.3 и iOS 7.0.0)
-
"Reset Все настройки" в приложении настроек iOS
Без эффекта -
"Стереть все содержимое и настройки" в приложении настроек iOS
Сбрасывает какadvertisingIdentifier
, так иidentifierForVendor
. -
Восстановление устройства через iTunes
Сбрасывает какadvertisingIdentifier
, так иidentifierForVendor
. -
Удаление приложения с устройства
СбрасываетidentifierForVendor
, если это последнее приложение с определенным идентификатором команды. -
Обновление приложения (автоматически или через App Store)
Без эффекта -
Обновление приложения через TestFlight или Ad-Hoc
May resetidentifierForVendor
, согласно документации. -
Включение/отключение "Ограничение отслеживания объявлений"
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) -
"Reset Идентификатор рекламы" в приложении настроек iOS
СбрасываетadvertisingIdentifier
. Если некоторые запущенные (или приостановленные) приложения уже запросил aadvertisingIdentifier
, они не смогут получить новый, пока они не будут остановлены и перезапущены. -
Резервное копирование через iTunes
Без эффекта -
Восстановление резервной копии через iTunes (на том же устройстве)
Восстановление резервных настроек, включая какadvertisingIdentifier
, так иidentifierForVendor
. Примечание. Если вы удалите несколько приложений с некоторыми Идентификатор команды до восстановления,identifierForVendor
никогда не будет reset снова, пока вы не переустановите все приложения с этим идентификатором команды, который у вас был установить и удалить их снова. Кажется, это ошибка. -
Восстановление резервной копии через iTunes (на другое устройство). Сбрасывает как
advertisingIdentifier
, так иidentifierForVendor
.
(1) Насколько я понимаю, это не должно происходить с приложениями в App Store. Похоже, что это связано с количеством компонентов в приложении bundleID и соответствующим профилем подготовки: iOS 7 Примечания к выпуску приложений, касающиеся развертывания приложений
В моих тестах identifierForVendor
в приложениях с 4-мя компонентами изменились (для версий с профилями подготовки разработчика или поставщика), но не изменились для тех, у кого есть 3 компонента.
Ответ 2
Два случая:
- Вручную выбрать "Reset Идентификатор рекламы". Но если приложение работает в фоновом режиме, идентификатор останется активным до тех пор, пока приложение не будет перезапущено.
- Вручную выберите "Reset Все содержимое и настройки".
Резервные копии, обновления ОС, переустановка приложения или выбор "Ограничение отслеживания объявлений" не будут reset идентификатором.
AFAIK вы можете отправить идентификатор поставщика и идентификатор рекламы на сервер, а когда пользователь сбрасывает рекламный идентификатор с помощью "Reset Идентификатор рекламы", вы можете сопоставить новое со старым, поскольку идентификатор поставщика сохраняется, Не знаю, как Apple намерена предотвратить это.
Ответ 3
Нет официального, окончательного списка от Apple. В документации указано только:
Этот идентификатор может измениться, например, если пользователь стирает устройство, поэтому вы не должны кэшировать его.
Apple не дает более подробной информации. Известно, что сброс устройства изменяет ADID, так же как пользователь вручную перезагружает его (где эта функция доступна, поэтому iOS 6.1+). Я не смог найти ничего, что предполагает, что обновление ОС будет reset идентификатором.
Конечно, возможно, другое недокументированное поведение сбрасывает идентификатор, но я не смог найти ничего другого.