IOS: Сколько push-уведомлений можно отправлять по одному запросу?

Я использую APNS python wrapper library для отправки push-уведомлений. Apple сообщает, что ограничение на полезную нагрузку на сообщение составляет 256 байт. Но так как несколько PN могут быть отправлены по одному запросу, я хотел бы знать, существует ли ограничение на количество сообщений, разрешенных в одном запросе?

Каков правильный способ отправки лотов (1000+) push-уведомлений? Сервер Apple ограничивает соединения/сек или PN/сек, чтобы избежать спама?

Ответ 1

Как сказал Джонатан в своем комментарии, Apple не указывает ограничение в документации APNS.

Поскольку вы отправляете уведомления в виде двоичных данных по TCP-соединению, количество уведомлений, которые будут отправляться по одному запросу, зависит от размера ваших буферов TCP.

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

ИЗМЕНИТЬ:

Недавно Apple отредактировала техническую заметку о push-уведомлениях :

Проверка пропускной способности и проверка ошибок уведомления

Для использования APN нет ограничений на размер кеша или размера партии. IOS 6.1 пресс-релиз заявил, что APN отправил более 4 трлн push с момента его создания. Об этом было объявлено на WWDC 2012 что APN ежедневно отправляет 7 миллиардов уведомлений.

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