Служба APNS отправляет 200 на токен устройства с истекшим сроком действия? - PullRequest
0 голосов
/ 15 июня 2019

Я тестирую сервис Apple Push Notification (режим песочницы) перед интеграцией в мое приложение. Потенциально мы будем отправлять Push-уведомления порядка тысяч в минуту, поэтому одним из основных требований является не отправлять уведомления на недопустимый (удаленный) токен устройства, если приложение удалено (или переустановлено).

токен устройства, полученный в:

application(_ application: UIApplication,didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)

в зависимости от установки приложения. Новая установка создает новый токен, а предыдущий становится недействительным.

Согласно документу Apple APNS , отправка запроса на маркер устройства с истекшим сроком действия должна вернуть:

410 Токен устройства больше не активен для темы.

Однако я последовательно получаю 200 и для действительных, и для просроченных токенов устройств. Уведомления о правильном токене устройства доставляются на устройство, тогда как уведомления о недействительных (просроченных) токенах не отправляются.

Я использую пакет npm apn на стороне сервера и тестирую на устройстве под управлением iOS 12.3.

Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 24 июня 2019

Я тоже это заметил.Я обычно получаю код ответа 200 и следующее тело для недействительного / просроченного токена:

{
    "multicast_id": 7942205170696355362,
    "success": 0,
    "failure": 1,
    "canonical_ids": 0,
    "results": [
        {
            "error": "InvalidRegistration"
        }
    ]
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...