Просмотров: 13902
Дата последнего изменения: 25.01.2024
Сложность урока:
1 уровень - интуитивно все понятно из интерфейса, но почитать стоит.
2
3
4
5
Сервис push-уведомлений гарантирует отправку уведомлений в сервисы Google Gloud Messaging и Apple Push Notification Service, но не гарантирует 100% получение уведомления пользователем от этих сервисов.
Почему уведомление может не дойти до получателя?
Причины по которым Google Сloud Messaging и Apple Push Notification Service не доставляют уведомления:
- Пользователь находился в офлайн или у него были проблемы с сетью.
Каждое уведомление имеет «время жизни» и указывается разработчиком при отправке. Если за «время жизни» уведомления пользователь так и не вышел в сеть, то оно никогда не будет доставлено.
- Зарегистрированный токен устройства устарел и более не является актуальным для сервисов Google Сloud Messaging и Apple Push Notification Service.
Токены устройств, которые сохраняются разработчиком для последующей отправки уведомлений, могут стать неактуальными в любой момент. Разработчик приложения должен позаботиться об обновлении токенов в базе данных. Если пользователь долгое время вообще не открывал приложение, то велика вероятность, что его токен перестанет быть актуальным и он больше не будет получать уведомления.
Токен также станет неактуальным по причинам:
- переустановка приложения,
- обновления операционной системы или какого-либо обновления сервиса отправки уведомлений (Google Сдoud Messaging и Apple Push Notification Service), которое требует повторной регистрации устройства.
- Пользователь выключил уведомления для приложения.
- Пользователь перевел устройство в режим экономии энергии, что может ограничить активность устройства в плане работы с сетью и подключении к сервисам.
В Android 6.0 появился Doze Mode - режим, при котором сервисы и приложения «засыпают» на время блокировки устройства, в этом режиме уведомления также могут доставлены с опозданием или не доставлены вообще.
- Размер push-уведомления превысил ограничения (4кб для iOS и 8кб для Android).
- В момент отправки уведомления пользователь находится в приложении. Уведомления доставляются на устройства пользователя, только если приложение выгружено из памяти или находится в фоне.
- Слишком много уведомлений в очереди для одного устройства (iOS). Более подробную информацию вы можете узнать здесь.
- В момент отправки не доступны сервисы Google Сloud Messaging и Apple Push Notification Service
- Ошибки в работе сервисов Google Сloud Messaging и Apple Push Notification Service.