токены устройства для провайдера Apple Push-уведомлений - PullRequest
4 голосов
/ 18 ноября 2011

Если я «провайдер» push-уведомлений Apple для нескольких приложений iOS, могу ли я использовать один и тот же маркер устройства для нескольких приложений?Я знаю, что мне нужны уникальные сертификаты SSL для каждого приложения.Однако я запутался в токенах устройств.

Пример : у меня есть два приложения A и B. Я хочу предоставить push-уведомления для обоих приложений.Скажем, я получаю маркер устройства T от пользователя, который устанавливает приложение A. Предположим, у меня есть уникальные сертификаты SSL для обоих приложений.Когда тот же пользователь устанавливает приложение B, могу ли я повторно использовать токен T при предоставлении push-уведомлений для приложения B?

Дополнительная информация : после перечитывания Документы Apple все еще не ясно.Этот пункт, в частности, предполагает, что маркер устройства можно использовать повторно:

Каждое уведомление, которое провайдер отправляет в APN для доставки на устройство, должно сопровождаться токеном устройства, полученным из приложения.на этом устройстве.APN дешифрует токен с помощью ключа токена, тем самым обеспечивая правильность уведомления.Затем он использует идентификатор устройства, содержащийся в маркере устройства, чтобы определить устройство назначения для уведомления.

Примечание : звучит как «topic» / bundleID, содержащийся в SSL поставщикасертификат для каждого приложения направляет уведомления конкретному приложению на устройстве.Поэтому представляется вероятным, что токены устройства являются уникальными для устройства (а не для приложений на устройстве).

1 Ответ

7 голосов
/ 19 ноября 2011

Для двух приложений A и B токен устройства будет одинаковым для ssl-сертификата песочницы, но он изменится для профиля распространения (т. Е. При использовании ssl-сертификата производства)

Также могут измениться токены устройствакогда вы обновляете ОС

, у меня тоже появляется «провайдер», и я предпочитаю хранить токены устройств для каждого приложения.т.е. (APP_A => Token1; APP_B => Token1) Каждый раз, когда устройство отправляет запрос регистрации провайдеру, проверьте, существует ли комбинация APP и токена устройства в таблице, если нет, выполните новую вставку.

Таким образом, вам не нужно беспокоиться, даже если токен устройства по какой-то причине меняется.

...