Подтвердить что ты не робот

Как долго синтаксическое уведомление сидит в очереди перед удалением?

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

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

apns-expiration

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

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