Как долго push-уведомление находится в очереди перед удалением? - PullRequest
19 голосов
/ 22 декабря 2011

Я копался, пытаясь раскрыть некоторые данные для push-уведомлений Apple для клиента, и я не смог найти ответ на вопрос, как долго push-уведомление будет находиться в очереди для автономного устройства, прежде чем оно будетудален.

Возможно, существуют длительные периоды времени, например, 2-3 месяца, в течение которых устройство может быть неактивно и выключено.Мне просто интересно узнать, как долго я могу ждать уведомления, ожидающего его доставки на автономное устройство, прежде чем оно будет автоматически удалено (как я понимаю, что происходит).

Ответы [ 2 ]

17 голосов
/ 22 декабря 2011

Официальная документация для разработчиков не совсем ясна по этому поводу. От developer.apple.com :

Служба Apple Push Notification включает стандартное качество обслуживания (QoS) компонент, который выполняет функцию сохранения и пересылки. Если APNs пытается доставить уведомление, но устройство находится в автономном режиме, QoS хранит уведомление. Он сохраняет только одно уведомление за приложение на устройстве: последнее уведомление, полученное от провайдер для этого приложения. Когда автономное устройство позже при повторном подключении QoS пересылает сохраненное уведомление на устройство. QoS сохраняет уведомление в течение ограниченного периода до удаления это.

Но согласно PCWorld , это 28 дней:

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

Хотя в 2009 году могло быть и 28 дней, я не удивлюсь, если сегодня все будет иначе. Неоднозначность в документации является отличным поводом для Apple, чтобы изменить этот тайм-аут по воле случая.

3 голосов
/ 12 мая 2015

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

Здесь - подробное объяснение использования даты истечения срока действия.

apns-expiration

Дата эпохи UNIX, выраженная в секундах (UTC).Этот заголовок определяет дату, когда уведомление больше не является действительным и может быть отклонено.

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

...