iPhone: надежность push-уведомлений на массовых устройствах - PullRequest
0 голосов
/ 19 октября 2011

Я использовал https://github.com/Redth/APNS-Sharp для отправки push-уведомлений на все устройства, на которых установлено приложение iPhone. Это работает очень противоречиво!

Как возникла эта проблема?

У нас есть приложение для iPhone с 500 пользователями. Мы заметили, что большинство пользователей не получают уведомления! Дальнейшая отладка в реальном времени, я заметил следующую последовательность событий.

.....
10:37:33 AM - Notification Queued!
10:37:33 AM - Notification Queued!
10:37:33 AM - Notification Queued!
10:37:33 AM - Notification Queued!
10:37:36 - Connecting...
10:37:36 - Connected...
10:37:36 - Notification Success
10:37:36 - Notification Success
10:37:36 - Notification Success
...
10:37:36 - Error: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host.
10:37:39 - Connecting...
10:37:40 - Connected...
10:37:40 - Notification Success
10:37:40 - Notification Success
....

Что я наделал?

Я создал тестовое приложение для iPhone с использованием производственного сертификата Ad-Hoc и установил его на 5 устройствах. Я пытался отправить несколько сообщений одновременно на все эти устройства. Я заметил совершенно непоследовательное поведение при получении сообщений. Иногда все 5 устройств получали сообщения мгновенно. Из 5, 3 устройства получают сообщение почти мгновенно, а из двух других устройств каждое из них иногда получает сообщение мгновенно, а другое не получает все сообщения, кроме последнего сообщения. Иногда это не получает сообщение вообще!

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

Что я проверил?

  • Он использует одно и то же соединение для отправки всех сообщений, поэтому не открывает несколько соединений.
  • Использование правильного сертификата и сервера push-уведомлений.
  • Несколько раз запускала службу обратной связи, но она не возвращала идентификаторы устройств.

Кто-нибудь еще заметил это поведение? Что может быть проблемой при отправке сообщения на несколько устройств? Могу ли я сделать что-нибудь еще, чтобы сделать Push-уведомление надежным?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

Я зарегистрировал эту ошибку в Apple и получил от них ответ. Кажется, они исправили клиентские вещи, связанные с Push-уведомлениями в iOS 5.0. Также, как Push Notification не гарантируется, это противоречивое поведение имеет место. Если кому-то интересно, тогда идентификатор ошибки # 10333505

0 голосов
/ 25 октября 2011

Попробуйте UrbanAirship .Я обнаружил, что он очень последовательный из-за облачного подхода (развернул несколько приложений)Многие крупные игроки тоже используют его (многозначительные и т. Д.).Всегда лучше делегировать головную боль таким вещам экспертам :).+ Это бесплатно.

...