Мобильные push-уведомления
Push-уведомления — это всплывающие сообщения на экране смартфона с информацией о событии в сервисе, доступных услугах, акциях, новостях и обновлениях.
Push-уведомления отправляются через сервисы уведомлений мобильных платформ:
- Apple Push Notification service
(APNs). - Firebase Cloud Messaging
(FCM). - Huawei Mobile Services
(HMS). - RuStore
.
Примечание
В сервисе действуют ограничения. Подробнее см. в разделе Квоты и лимиты Yandex Cloud Notification Service.
Алгоритм доставки Push-уведомлений на примере FCM:
- В сервисе CNS создается канал мобильных Push-уведомлений под конкретную платформу (FCM) и ваше приложение.
- FCM поддерживает постоянное сетевое соединение со всеми зарегистрированными мобильными устройствами, чтобы доставлять Push-уведомления приложениям на этих устройствах.
- Ваше приложение на конкретном устройстве регистрируется в FCM и получает уникальный токен для отправки Push-уведомлений на это устройство.
- Токен сохраняется в CNS в качестве параметра мобильного эндпоинта приложения.
- Чтобы отправить уведомление, вы публикуете сообщение в CNS и указываете в качестве получателя идентификатор (ARN) эндпоинта.
Канал мобильных Push-уведомлений
Канал мобильных Push-уведомлений — механизм доставки сообщений через определенный сервис уведомлений. Каналы уведомлений соответствуют платформам, на которые можно отправлять Push-уведомления.
Имена каналов уникальны для всего CNS. Не получится создать канал с именем, которое уже занято вами или другим пользователем. После создания канала изменить его имя нельзя.
Минимальный перечень исходных данных для создания канала зависит от платформы и может включать:
- Ключ или идентификатор ключа, токен, сертификат.
- Идентификатор разработчика, приложения, проекта.
Полный список исходных данных для каждого канала уведомлений см. в разделе Создать канал push-уведомлений. Данные для аутентификации можно получить в консоли разработчика соответствующей мобильной платформы.
После того как канал уведомлений создан, ему присваивается уникальный идентификатор (ARN).
Мобильные эндпоинты
Каждый канал имеет свою базу мобильных эндпоинтов для отправки уведомлений напрямую в приложение на устройства пользователей.
Мобильный эндпоинт содержит в себе информацию о токене для отправки Push-уведомлений на конкретное устройство и идентификатор (ARN) канала уведомлений.
Время жизни токена
Токены для отправки Push-уведомлений имеют ограниченное время жизни, которое зависит от конкретной платформы, действий пользователя и других факторов.
CNS при отправке уведомлений получает обратную связь от каждой платформы и использует ее для управления токенами. Если токен устарел, CNS удалит эндпоинт.
Рекомендуемый алгоритм работы с токенами на стороне мобильного приложения:
- Приложение регистрируется в сервисе мобильных уведомлений, например APNs, и получает токен для отправки Push-уведомлений.
- Приложение передает токен в CNS, получает идентификатор (ARN) эндпоинта и сохраняет его на устройстве.
- При каждом запуске приложение снова регистрируется в сервисе мобильных уведомлений, например APNs, и проверяет, не изменился ли токен.
- Если токен изменился, то приложение передает в CNS новый токен и идентификатор (ARN) эндпоинта. Если такого идентификатора (ARN) эндпоинта уже по какой-то причине нет, то в CNS создается новый эндпоинт и сохраняется в приложении.
Совет
Не рекомендуется постоянно перезаписывать токен в эндпоинт при каждом запуске приложения. Если токен не изменился, в некоторых случаях это может привести к потере уведомлений.