didRegisterForRemoteNotificationsWithDeviceToken - Push-уведомления - PullRequest
4 голосов
/ 26 января 2011

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

Спасибо Джеймс

1 Ответ

17 голосов
/ 26 января 2011

Во-первых, вы не должны вызывать этот метод напрямую.Скорее, вы должны вызывать registerForRemoteNotificationTypes: при каждом запуске вашего приложения, что, в свою очередь, вызывает application:didRegisterForRemoteNotificationsWithDeviceToken:, который вы должны реализовать.

Во-вторых, да, вы должны каждый раз повторно отправлять токен на сервер.Из документации:

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

...