Как начать работать с push-уведомлениями в Yandex Cloud Notification Service
Примечание
Сервис находится на стадии Preview.
Чтобы включить Cloud Notification Service, запросите доступ к сервису у вашего аккаунт-менеджера или в технической поддержке
Cloud Notification Service (CNS) — сервис для мультиканальной отправки уведомлений пользователям. HTTP API сервиса совместим с Amazon SNS API
С помощью Cloud Notification Service вы можете отправлять push-уведомления в приложения, зарегистрированные в следующих сервисах:
- Apple Push Notification service
(APNs). - Firebase Cloud Messaging
(FCM). - Huawei Mobile Services
(HMS).
Позднее также будет реализована отправка push-уведомлений через платформу RuStore
Чтобы начать работу с push-уведомлениями:
- Подготовьте облако к работе.
- Создайте канал push-уведомлений.
- Создайте эндпоинт.
- Отправьте уведомление.
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Создайте канал push-уведомлений
В Cloud Notification Service сообщения конечным пользователям отправляются через каналы уведомлений.
Чтобы создать канал:
-
В консоли управления
выберите каталог, в котором вы хотите создать канал уведомлений. -
В списке сервисов выберите Cloud Notification Service.
-
Нажмите кнопку Создать канал уведомлений.
-
На вкладке Мобильные Push-уведомления выберите платформу для отправки:
Apple iOS
— для iOS-устройств.Google Android
— для Android-устройств c установленными сервисами Google Play.Huawei Android
— для Android-устройств c установленными сервисами Huawei.
-
В зависимости от платформы задайте параметры аутентификации:
Apple iOS
-
Выберите Метод аутентификации:
Токен
илиСертификат
.Вы можете аутентифицироваться на мобильной платформе APNs с помощью токена или сертификата:
-
Для аутентификации с помощью токена вам понадобятся следующие данные:
-
Ключ подписи — файл с ключом подписи, которым будет заверяться токен аутентификации.
Создайте и скачайте ключ подписи в своей учетной записи разработчика Apple: Certificates, Identifiers & Profiles → Keys →
. Скачать файл ключа можно только один раз. -
Идентификатор ключа (Key ID) — узнайте идентификатор в учетной записи разработчика Apple: Certificates, Identifiers & Profiles → Keys. Убедитесь, что идентификатор соответствует ключу подписи, который вы загрузили на предыдущем шаге. Должен содержать 10 символов.
-
Идентификатор разработчика (Team ID) — указан в правом верхнем углу вашей учетной записи разработчика Apple. Должен содержать 10 символов: только цифры и буквы латинского алфавита.
-
Идентификатор приложения (Bundle ID) — узнайте Bundle ID
в учетной записи разработчика Apple: Certificates, Identifiers & Profiles → Identifiers или в приложении Xcode: Target → General → Identity. Может содержать только цифры, буквы латинского алфавита, дефисы и точки.
Подробнее о токене см. в документации Apple
. -
-
Для аутентификации с помощью сертификата понадобятся следующие данные:
- Сертификат — файл сертификата SSL в формате
.pem
. - Закрытый ключ сертификата — файл ключа в формате
.pem
.
Подробнее о сертификате см. в документации Apple
.Чтобы сохранить сертификат и закрытый ключ в отдельных файлах формата
.pem
, вы можете воспользоваться утилитой openssl в Linux:openssl pkcs12 -in Certificates.p12 -nokeys -nodes -out certificate.pem openssl pkcs12 -in Certificates.p12 -nocerts -nodes -out privatekey.pem
- Сертификат — файл сертификата SSL в формате
Аутентификация с токеном является предпочтительной, как более современная, быстрая и безопасная.
-
-
Выберите Окружение:
Development
илиProduction
. Для тестирования приложения используйтеDevelopment
.
Google Android
Укажите, какая Версия FCM API будет использоваться:
HTTP v1
илиLegacy
.Вы можете аутентифицироваться на мобильной платформе FCM с помощью HTTP v1 API или Legacy API:
- Для аутентификации с помощью HTTP v1 API вам понадобится Ключ сервисного аккаунта Google Cloud в формате JSON. С помощью ключа генерируются временные токены OAuth 2.0 для аутентификации запросов в FCM HTTP v1 API. Можно получить в консоли управления Google Cloud.
- Для аутентификации с помощью Legacy API вам понадобится API-ключ (server key). Можно получить в консоли управления Firebase.
Примечание
Версия HTTP v1 API является предпочтительной, так как с июня 2024 года Legacy API не будет поддерживаться FCM
.Подробнее см. в документации Firebase
.Huawei Android
Вы можете аутентифицироваться на мобильной платформе HMS с помощью следующих параметров:
- Идентификатор ключа.
- API-ключ.
Подробнее см. в документации HMS
. -
-
Введите Имя канала уведомлений. Должно быть уникальным в облаке. Может содержать строчные и заглавные буквы латинского алфавита, цифры, подчеркивания, дефисы и точки. Допустимая длина — от 1 до 256 символов. Рекомендуется для каналов APNs указывать в имени идентификатор приложения (Bundle ID), для FCM и HMS — полное название пакета приложения (Package name).
-
(опционально) Нажмите кнопку
Добавить описание и введите описание для канала уведомлений. -
Нажмите кнопку Создать.
Создание канала уведомлений может занять некоторое время.
Создайте эндпоинт
Каждый канал имеет свою базу эндпоинтов для отправки уведомлений напрямую в приложение на устройства пользователей.
Чтобы создать эндпоинт:
- Выберите канал уведомлений, созданный ранее.
- Перейдите на вкладку
Эндпоинты. - Нажмите кнопку Создать эндпоинт.
- Введите Токен устройства — уникальный токен на устройстве пользователя, созданный сервисом уведомлений для приложения.
- (опционально) Введите Данные пользователя — текст длиной до 2048 символов в кодировке UTF-8
. - Нажмите кнопку Создать.
Создание эндпоинта может занять некоторое время.
Отправьте уведомление
- Выберите эндпоинт, созданный ранее.
- В блоке Отправка уведомлений выберите формат уведомления:
Текст
илиJSON
. - Введите текст уведомления или JSON-объект, содержащий данные уведомления.
- Нажмите кнопку Отправить.
Каждому отправленному уведомлению присваивается уникальный идентификатор. Чтобы сохранить его, нажмите кнопку Скопировать идентификатор.
Вы можете сразу же отправить новое уведомление или повторить предыдущее.