Странное поведение с Apple Push Notification Service

Сейчас я работаю над Apple Push Notification Service и приложением для iPhone с apns-php .

Каждый, кто использует APNS, знает, что существует ограничение на его использование - мы не можем отправлять полезные данные размером более 256 байт на одно сообщение. Однако я нашел веб-сайт, на котором говорится, что существует еще одно ограничение, запрещающее отправку полезных данных, в которых использование сети превышает 5000–7000 байтов в соединении.

Я искал доказательства этому явлению или официальные документы, но ничего не нашел.

Не могли бы вы сообщить мне, существует ли такое недокументированное ограничение APN для успешной отправки полезной нагрузки? Сталкивались ли вы с другими странными событиями при использовании APN?

Веб-сайт находится прямо здесь (извините, это японский).

Он говорит:

  • Не отправляйте сообщение, длина которого превышает 256 байт.
  • Вас забанят в APNS, если вы попытаетесь отправить сообщение размером от 5000 до 7000 байтов, и APNS разрушит вашу сессию. Затем вам нужно воссоздать сеанс APN с несколькими во время сна.

Мы будем благодарны за любые комментарии или идеи.


person Miky    schedule 30.01.2013    source источник


Ответы (1)


Я никогда не слышал об ограничении в 5000-7000 байт. Напротив, Apple рекомендует отправлять несколько сообщений в пакете для повышения эффективности.

Из руководства для разработчиков APN:

Бинарный интерфейс использует простой TCP-сокет для двоичного содержимого, которое по своей природе является потоковым. Для оптимальной производительности вы должны пакетировать несколько уведомлений за одну передачу через интерфейс, либо явно, либо с использованием алгоритма TCP / IP Nagle.

И если вам все еще нужно официальное доказательство того, что такого ограничения нет, вот это (взято из здесь):

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

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

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

person Eran    schedule 30.01.2013