Удаленные уведомления Apple - изменение маркера - PullRequest
2 голосов
/ 13 июля 2011

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

Но что произойдет, когда провайдер создаст уведомление и передаст его в APNS, и за это время токен будет уже изменен?
Получу ли я уведомление со старым токеном? Будет ли провайдер уведомлен об истечении срока действия токена?

Должен ли я решить эту проблему так, чтобы после регистрации я обновлял своего провайдера информацией "ВЫ МОЖЕТЕ ОТПРАВИТЬ УВЕДОМЛЕНИЯ" и выполнял задание NSTimer для обновления этого состояния во время работы приложения?

Согласно этому: http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW2

Спасибо

1 Ответ

5 голосов
/ 13 июля 2011

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

Если ваше приложение отслеживает, какой токен был раньше, оно может отправлять обновление поставщику по мере необходимости (или просто каждый раз, когда оно получает токен, изменился он или нет).

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

...