28  /  103

Гарантии доставки push-уведомлений

Просмотров: 1676 (Статистика ведётся с 06.02.2017)

Сервис 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.
1
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии