Существует ли Android GCM, эквивалентный сервису push-уведомлений iOS?
Наше веб-приложение отправляет запросы push-уведомлений на устройства iOS и Android.
Для iOS в службе push-уведомлений Apple есть служба обратной связи, благодаря которой вы можете определить, какие устройства удалили ваше приложение, а затем удалить его из базы данных.
Есть ли аналогичный сервис обратной связи для Android GCM? Если нет, то как определить, у каких пользователей Android больше не установлено приложение?
2 ответа
Есть ли аналогичный сервис обратной связи для Android GCM?
Нет.
Если нет, то как определить, у каких пользователей Android больше не установлено приложение?
Цитирование документации:
- Конечный пользователь удаляет приложение.
- Сторонний сервер отправляет сообщение на сервер GCM.
- Сервер GCM отправляет сообщение на устройство.
- Клиент GCM получает сообщение и запрашивает диспетчер пакетов о том, настроены ли приемники широковещательной передачи для его приема, и возвращает false.
- Клиент GCM сообщает серверу GCM, что приложение было удалено.
- Сервер GCM помечает регистрационный идентификатор для удаления.
- Сторонний сервер отправляет сообщение в GCM.
- GCM возвращает сообщение об ошибке NotRegistered на сторонний сервер.
- Стороннее лицо удаляет регистрационный идентификатор.
Обратите внимание, что для полного удаления идентификатора регистрации из GCM может потребоваться некоторое время. Таким образом, возможно, что сообщения, отправленные на шаге 7 выше, получат действительный идентификатор сообщения в качестве ответа, даже если сообщение не будет доставлено на устройство. В конце концов, идентификатор регистрации будет удален, и сервер получит ошибку NotRegistered без каких-либо дополнительных действий со стороны стороннего сервера (этот сценарий часто происходит во время разработки и тестирования приложения).
GCM ответит вам ошибкой "NotRegistered" (при условии, что вы используете HTTP). Кроме того, GCM недавно был выпущен для iOS, поэтому вы можете использовать его для доставки уведомлений как для Android, так и для iOS.