Как начать работать с Yandex Cloud Notification Service
Примечание
Сервис находится на стадии Preview.
Чтобы включить Cloud Notification Service, запросите доступ к сервису у вашего аккаунт-менеджера или в технической поддержке
Cloud Notification Service (CNS) — сервис для мультиканальной отправки уведомлений пользователям. HTTP API сервиса совместим с Amazon SNS API
На стадии Preview доступна индивидуальная отправка Push-уведомлений на устройства с iOS и Android.
Позднее будет реализована отправка SMS-сообщений, уведомлений в мессенджеры и браузеры.
С помощью Cloud Notification Service вы можете отправлять уведомления в приложения, зарегистрированные в следующих сервисах:
- Apple Push Notification service
(APNs). - Firebase Cloud Messaging
(FCM). - Huawei Mobile Services
(HMS).
Позднее также будет реализована отправка Push-уведомления через платформу RuStore
Чтобы начать работу с сервисом:
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Создайте канал уведомлений
В Cloud Notification Service сообщения конечным пользователям отправляются через каналы уведомлений.
Чтобы создать канал:
-
В консоли управления
выберите каталог, в котором вы хотите создать канал уведомлений. -
В списке сервисов выберите Cloud Notification Service.
-
Нажмите кнопку Создать канал уведомлений.
-
Выберите платформу для отправки мобильных Push-уведомлений:
Apple iOS
— для iOS-устройств.Google Android
— для Android-устройств c установленными сервисами Google Play.Huawei Android
— для Android-устройств c установленными сервисами Huawei.
-
В зависимости от платформы задайте параметры аутентификации:
Apple iOS
-
Выберите Метод аутентификации:
Токен
илиСертификат
.Вы можете аутентифицироваться на мобильной платформе APNs с помощью токена или сертификата:
-
Для аутентификации с помощью токена вам понадобятся следующие данные:
- Токен — чтобы получить файл токена в формате
.p8
, создайте ключ аутентификации в своей учетной записи разработчика Apple: Certificates, Identifiers & Profiles → Keys → . Скачать файл токена можно только один раз. - Идентификатор токена — узнайте идентификатор в учетной записи разработчика Apple: Certificates, Identifiers & Profiles → Keys. Убедитесь, что идентификатор соответствует токену, который вы хотите применить. Должен содержать 10 символов.
- Идентификатор разработчика (Team ID) — указан в правом верхнем углу вашей учетной записи разработчика Apple. Должен содержать 10 символов: только цифры и буквы латинского алфавита.
- Идентификатор приложения (Bundle ID) — узнайте Bundle ID
в учетной записи разработчика Apple: Certificates, Identifiers & Profiles → Identifiers или в приложении Xcode: Target → General → Identity. Может содержать только цифры, буквы латинского алфавита, дефисы и точки.
- Токен — чтобы получить файл токена в формате
-
Для аутентификации с помощью сертификата понадобятся следующие данные:
- Сертификат — файл сертификата SSL в формате
.p12
. - Закрытый ключ сертификата.
Подробнее о сертификате см. в документации Apple
. - Сертификат — файл сертификата 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-объект, содержащий данные уведомления.
- Нажмите кнопку Отправить.
Каждому отправленному уведомлению присваивается уникальный идентификатор. Чтобы сохранить его, нажмите кнопку Скопировать идентификатор.
Вы можете сразу же отправить новое уведомление или повторить предыдущее.