Альтернативы push-уведомлений - PullRequest
2 голосов
/ 08 декабря 2010

Я слышал, что push-уведомление ненадежно. Что может быть альтернативой этому?

Вариант использования, который я пытаюсь обработать: 1. У меня есть приложение, которым поделятся три вида групп. Каждая группа содержит определенный набор лиц. 2. Запрос подается первой группой, и он будет обслуживаться второй группой. Таким образом, все лица, входящие во вторую группу, должны быть уведомлены, и никто кроме них не должен получать уведомление. 3. Аналогичным образом, запрос подается группой первого типа и будет обслуживаться группой третьего типа. Таким образом, все лица, которые входят в третью группу, должны быть уведомлены, и никто кроме них не должен получать уведомление. 4. Даже лица второй группы могут подать запрос в третью группу.

Пожалуйста, поделитесь своими мыслями о том, как мне справиться с этими сценариями.

Ответы [ 4 ]

5 голосов
/ 09 декабря 2010

Push-уведомления зависят от наличия сети (3G / WiFi) для доставки уведомления.Кроме того, от Apple Push Notification Server нет ответа, который гарантирует доставку уведомления.Сказав все эти вещи ... iPod touch крайне ненадежен для доставки уведомлений, потому что у него нет 3G;во-вторых, для экономии заряда батареи его уведомления на какое-то время отключены изнутри ....

Одна из альтернатив - продолжать опрашивать сервер в фоновом потоке для любой модификации.Но это будет работать только при работающем приложении.

Другой альтернативой может быть написание собственной APNS-инфраструктуры.

2 голосов
/ 09 декабря 2010

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

Кроме того, если ваше приложение зависит от PN, пользователь может легко отключить его функциональность, отключив уведомления.

Так что вы абсолютно правы: если данные, которые вы хотите отправить, являются критическими, то вам не следует использовать Push Notification. Но я верю, что на самом деле нет решения вашей проблемы. вы просто не можете положиться на них, чтобы ваше приложение работало.

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

1 голос
/ 25 ноября 2011

Вы правы в том, что APN не гарантирует доставку: из своих документов они говорят, что:

Важно : поскольку доставка не гарантируетсяВы не должны зависеть от средства удаленных уведомлений для доставки критически важных данных в приложение через полезную нагрузку.И никогда не включайте конфиденциальные данные в полезную нагрузку.Вы должны использовать его только для уведомления пользователя о наличии новых данных.

1 голос
/ 09 декабря 2010

Альтернативы нет, так как Apple осуществляет связь на очень низком уровне. Вам нужно будет работать вместе с операторами мобильной связи, чтобы создать что-то вроде служб уведомлений.

Тем не менее, я не думаю, что услуга ненадежна. Может быть, вы должны проверить свою реализацию.

...