Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Notification Service
    • Обзор
    • Начало работы с мобильными Push-уведомлениями
    • Начало работы с Push-уведомлениями в браузере
    • Начало работы с SMS
    • Все инструкции
      • Создать канал
      • Управлять каналом
      • Создать эндпоинт
      • Управлять эндпоинтом
      • Отправить push-уведомление в браузер
    • Настроить логирование
    • Обзор
    • Мобильные Push-уведомления
    • Push-уведомления в браузере
    • SMS
    • Квоты и лимиты
    • Все инструменты
    • AWS CLI
    • AWS SDK для С++
    • AWS SDK для Go
    • AWS SDK для Java
    • AWS SDK для JavaScript
    • AWS SDK для Kotlin
    • AWS SDK для .NET
    • AWS SDK для PHP
    • AWS SDK для Python (boto3)
  • Правила тарификации
  • Метрики Monitoring
  • Логи Cloud Logging
  • История изменений
  1. Пошаговые операции
  2. Push-уведомления в браузере
  3. Создать эндпоинт

Создать эндпоинт

Статья создана
Yandex Cloud
Обновлена 3 апреля 2025 г.

Для каждого канала надо создать набор эндпоинтов, через которые будут отправляться уведомления в браузеры конкретных пользователей.

Чтобы создать эндпоинт:

  1. Из браузера пользователя с помощью Service Worker вызовите метод JavaScript subscribe.

    В ответ вернется объект PushSubscription.

  2. Преобразуйте полученный объект в JSON, вызвав метод toJSON.

Формат ответа в JSON:

{
  "endpoint": <string>,
  "expirationTime": <DOMHighResTimeStamp,null>,
  "keys": {
    "p256dh": <string>,
    "auth": <string>
  }
}

Где:

  • endpoint — URL-адрес, на который будет отправляться push-уведомление. Обычно это адрес сервера push-уведомлений, например, Firebase Cloud Messaging (FCM).
  • expirationTime — время жизни уведомления в миллисекундах. Если значение равно null, то время жизни не ограничено.
  • keys — данные для защиты уведомления:
    • p256dh — публичный ключ пользователя, который используется для шифрования данных уведомления.
    • auth — ключ аутентификации для подтверждения подлинности отправителя.
Пример ответа в JSON
{
 "endpoint": "https://fcm.googleapis.com/fcm/send/abcdef123456",
 "expirationTime": 1704093740000,
 "keys": {
   "p256dh": "BOrLkr7sEt8tERyAv6c8ZG5UC********",
   "auth": "aBcDeFg12345"
 }
}

Получив данные для отправки уведомлений пользователю, создайте эндпоинт:

Консоль управления
AWS CLI
AWS SDK для Python
AWS SDK для PHP
AWS SDK для JavaScript
API
  1. В консоли управления перейдите в каталог, в котором находится канал уведомлений.
  2. В списке сервисов выберите Cloud Notification Service.
  3. Выберите вкладку Push-уведомления в браузере.
  4. Выберите канал уведомлений.
  5. Выберите вкладку Эндпоинты.
  6. Нажмите Создать эндпоинт.
  7. Введите Параметры эндпоинта в JSON, которые были получены при подписке пользователя.
  8. (опционально) Введите Данные пользователя — текст длиной до 2048 символов в кодировке UTF-8.
  9. Нажмите Создать.
  1. Если у вас еще нет AWS CLI, установите и сконфигурируйте его.

  2. Выполните команду:

    aws sns create-platform-endpoint \
    --platform-application-arn <ARN_канала> \
    --token <pushSubscription_JSON>
    

    Где:

    • --platform-application-arn — идентификатор (ARN) канала уведомлений.
    • --token — объект PushSubscription в формате JSON, который получен в браузере пользователя.

    Подробнее о команде aws sns create-platform-endpoint см. в документации AWS.

  1. Если у вас еще нет AWS SDK для Python (boto3), установите и настройте его.

  2. Чтобы создать эндпоинт, используйте следующий код:

    try:
     response = client.create_platform_endpoint(
       PlatformApplicationArn="<ARN_канала>",
       Token="<pushSubscription_JSON>",
     )
     print(f'Endpoint ARN: {response["EndpointArn"]}')
    
    except botocore.exceptions.ClientError as error:
     print(f"Error: {error}")
    
  1. Если у вас еще нет AWS SDK для PHP, установите и настройте его.

  2. Чтобы создать эндпоинт, используйте следующий код:

    $response = $client->createPlatformApplication(
      [
        'PlatformApplicationArn' => '<ARN_канала>',
        'Token' => '<pushSubscription_JSON>',
      ]
    );
    print('Endpoint ARN: ' . $response->get('EndpointArn'));
    
  1. Если у вас еще нет AWS SDK для JavaScript, установите и настройте его.

  2. Чтобы создать эндпоинт, используйте следующий код:

    try {
      const response = await client.send(
        new AWS.CreatePlatformEndpointCommand({
          PlatformApplicationArn: "<ARN_канала>",
          Token: "<pushSubscription_JSON>",
        }),
      );
      console.log("Endpoint ARN:", response["EndpointArn"]);
    } catch (e) {
      console.log("Error:", e)
    }
    

Воспользуйтесь методом HTTP API create для ресурса Endpoint сервиса Yandex Cloud Notification Service.

Создание эндпоинта может занять некоторое время.

Была ли статья полезна?

Предыдущая
Управлять каналом
Следующая
Управлять эндпоинтом
Проект Яндекса
© 2025 ООО «Яндекс.Облако»