В каких мобильных платформах «токен токена» не является постоянным?

Мы все знаем, что для использования функций push-уведомлений на любой мобильной платформе нам нужен уникальный идентификатор, называемый «ток-токен».

Разработчику необходимо как-то сохранить этот «токен» на свой сервер, чтобы иметь возможность отправлять уведомления пользователю.

Однако в каких мобильных платформах этот «токен» останется постоянным и в котором он может измениться?

Другими словами, в каких случаях разработчик должен позаботиться о обновлении «токена» пользователей в базе данных, если он когда-либо изменится?

Ответы должны включать: iOS , android , WP , BB платформы.

* Если вы знаете хотя бы один ответ этих платформ, напишите свой ответ, и в конце я подведу все ответы, чтобы получить полный ответ. *

Token никогда не бывает постоянным.

В iOS токен устройства одинаковый для всех приложений на устройстве. На практике он остается прежним до тех пор, пока вы не обновите версию iOS или не восстановите свое устройство из резервной копии. Теоретически Apple заявляет, что может измениться в любое время, поэтому вы должны справиться с этим делом.

Запросив токен устройства и передавая его провайдеру каждый раз, когда запускается ваше приложение, вы помогаете гарантировать, что у провайдера есть текущий токен для устройства. Если пользователь восстанавливает резервную копию устройства или компьютера, отличного от того, на котором была создана резервная копия (например, пользователь переносит данные на новое устройство или компьютер), он или она должен запустить приложение хотя бы один раз, чтобы он Получать уведомления снова. Если пользователь восстанавливает данные резервного копирования на новое устройство или компьютер или переустанавливает операционную систему, токен устройства изменяется. Кроме того, никогда не кэшируйте токен устройства и не передавайте его своему провайдеру; Всегда получайте токен из системы, когда вам это нужно. Если ваше приложение ранее зарегистрировалось, вызов registerForRemoteNotificationTypes: приводит к тому, что операционная система передает токен устройства делегату сразу, не прибегая к дополнительным накладным расходам.

В Android идентификатор регистрации отличается для каждого приложения на одном устройстве. Иногда это происходит, когда вы деинсталлируете свое приложение из GCM и затем перерегистрируете его. Тем не менее, старый идентификатор регистрации часто работает для отправки сообщений GCM в приложение (в этом случае вы получите канонический идентификатор регистрации в ответ, попросив использовать новый регистрационный идентификатор). Тем не менее, Google также заявляет, что идентификатор регистрации может измениться в любое время, поэтому вы должны обработать это дело.

Обратите внимание, что Google может периодически обновлять идентификатор регистрации, поэтому вы должны проектировать свое приложение для Android с пониманием того, что намерение com.google.android.c2dm.intent.REGISTRATION можно вызвать несколько раз. Ваше Android-приложение должно быть в состоянии ответить соответствующим образом.

Идентификатор регистрации длится до тех пор, пока приложение Android явно не зарегистрирует себя, или пока Google не обновит идентификатор регистрации для вашего приложения Android.

В Windows Phone я не уверен, как часто изменяется URI Notification Channel на практике, но Microsoft также заявляет, что может измениться в любое время.

Все приложения должны регистрироваться для события ChannelUriUpdated, если изменяется URI push-уведомления. Даже если у вас уже открыт канал, вам необходимо зарегистрироваться для события ChannelUriUpdated в случае изменения URI.

Подводя итог, вы всегда должны обращаться с Token как если бы он мог меняться при каждом повторном запуске приложения.

В андроиде, если вы используете Google cloud messaging, он изменится

Обратите внимание, что Google может периодически обновлять идентификатор регистрации, поэтому вы должны проектировать свое приложение для Android с пониманием того, что намерение com.google.android.c2dm.intent.REGISTRATION можно вызвать несколько раз.

Полное описание о GCM можно найти здесь

Для IOS, как вы можете видеть здесь

Является ли токен устройства APNS когда-либо измененным?

и здесь

Apple Documentation ApplePushService

Если пользователь восстанавливает данные резервного копирования на новое устройство или переустанавливает операционную систему, токен устройства изменяется.

Следуя инструкциям EasyAPNS ( http://www.easyapns.com ), каждый раз, когда приложение запускается, вы можете проверить, зарегистрирован ли токен или нет, и, в конечном счете, зарегистрировать устройство.