Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Notification Service
    • Обзор
    • Начало работы с мобильными Push-уведомлениями
    • Начало работы с Push-уведомлениями в браузере
    • Начало работы с SMS
    • Все инструкции
      • Создать канал push-уведомлений
      • Изменить канал push-уведомлений
      • Удалить канал push-уведомлений
      • Создать эндпоинт
      • Изменить эндпоинт
      • Удалить эндпоинт
      • Отправить 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. Создать канал push-уведомлений

Создать канал push-уведомлений

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

В Cloud Notification Service сообщения конечным пользователям отправляются через каналы уведомлений.

Чтобы создать канал:

Консоль управления
AWS CLI
AWS SDK для Python
AWS SDK для PHP
API
  1. В консоли управления выберите каталог, в котором вы хотите создать канал уведомлений.

  2. В списке сервисов выберите Cloud Notification Service.

  3. Нажмите Создать канал уведомлений.

  4. На вкладке Мобильные Push-уведомления выберите платформу для отправки:

    • Apple iOS — для iOS-устройств.
    • Google Android — для Android-устройств c установленными сервисами Google Play.
    • Huawei Android — для Android-устройств c установленными сервисами Huawei.
    • RuStore Android — для Android-устройств c установленным магазином приложений RuStore.
  5. В зависимости от платформы задайте параметры аутентификации:

    Apple iOS

    • Выберите Метод аутентификации: Токен или Сертификат.

      • Для аутентификации с помощью токена понадобятся:

        • Ключ подписи — файл с ключом подписи, которым будет заверяться токен аутентификации.

          Создайте и скачайте ключ подписи в своей учетной записи разработчика 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
        

      Аутентификация с токеном является предпочтительной, как более современная, быстрая и безопасная.

    • Выберите Окружение: Development или Production. Для тестирования приложения используйте Development.

    Google Android

    Укажите, какая Версия FCM API будет использоваться: HTTP v1 или Legacy.

    Вы можете аутентифицироваться на мобильной платформе FCM через API:

    • HTTP v1 API — понадобится Ключ сервисного аккаунта Google Cloud в формате JSON. С помощью ключа генерируются временные токены OAuth 2.0 для аутентификации запросов в FCM HTTP v1 API. Можно получить в консоли управления Google Cloud.
    • Legacy API — понадобится API-ключ (server key). Можно получить в консоли управления Firebase.

    Примечание

    С июня 2024 года Legacy API не поддерживается FCM.

    Подробнее см. в документации Firebase.

    Huawei Android

    Познакомьтесь с документацией HMS и получите параметры для аутентификации:

    • Идентификатор ключа.
    • API-ключ.

    RuStore Android

    Познакомьтесь с документацией RuStore и получите параметры для аутентификации:

    • ID проекта.
    • Сервисный токен.

    Параметры аутентификации можно получить в консоли разработчика RuStore: Push-уведомления → Проекты.

  6. Введите Имя канала уведомлений. Имена каналов уникальны для всего CNS. Может содержать строчные и заглавные буквы латинского алфавита, цифры, подчеркивания, дефисы и точки. Допустимая длина — от 1 до 256 символов. Рекомендуется для каналов APNs указывать в имени идентификатор приложения (Bundle ID), для FCM и HMS — полное название пакета приложения (Package name), для RuStore — значение packageName.

  7. (опционально) Нажмите Добавить описание и введите описание для канала уведомлений.

  8. Нажмите Создать.

  1. Если у вас еще нет AWS CLI, установите и сконфигурируйте его.

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

    aws sns create-platform-application \
      --name <имя_канала> \
      --platform <тип_платформы> \
      --attributes <параметр1>=<значение1>, ... <параметрN>=<значениеN>
    

    Где:

    • --name — имя канала уведомлений, задается пользователем.

      Имя должно быть уникальным для всего CNS. После создания канала изменить имя нельзя. Имя может содержать строчные и заглавные буквы латинского алфавита, цифры, подчеркивания, дефисы и точки. Длина — от 1 до 256 символов. Рекомендуется для каналов APNs указывать в имени идентификатор приложения (Bundle ID), для FCM и HMS — полное название пакета приложения (Package name), для RuStore — значение packageName.

    • --platform — тип мобильной платформы:

      • APNS и APNS_SANDBOX — Apple Push Notification service (APNs). Для тестирования приложения используйте APNS_SANDBOX.
      • GCM — Firebase Cloud Messaging (FCM).
      • HMS — Huawei Mobile Services (HMS).
      • RUSTORE — RuStore Android.
    • --attributes — параметры аутентификации на мобильной платформе в формате <параметр>=<значение> через запятую. Значения зависят от типа платформы:

      • APNs:

        • Аутентификация с токеном:

          • PlatformPrincipal — путь к файлу с ключом подписи, полученный в Apple.
          • PlatformCredential — идентификатор ключа подписи (Key ID).
          • ApplePlatformTeamID — идентификатор разработчика (Team ID).
          • ApplePlatformBundleID — идентификатор приложения (Bundle ID).
        • Аутентификация с сертификатом:

          • PlatformPrincipal — SSL-сертификат в формате .pem.

          • PlatformCredential — закрытый ключ сертификата в формате .pem.

            Чтобы сохранить сертификат и закрытый ключ в отдельных файлах формата .pem, вы можете воспользоваться утилитой openssl в Linux:

            openssl pkcs12 -in Certificates.p12 -nokeys -nodes -out certificate.pem
            openssl pkcs12 -in Certificates.p12 -nocerts -nodes -out privatekey.pem
            

        Аутентификация с токеном является предпочтительной, как более современная.

      • FCM: PlatformCredential — ключ сервисного аккаунта Google Cloud в формате JSON для аутентификации с помощью HTTP v1 API или API-ключ (server key) для аутентификации с помощью Legacy API.

        Рекомендуется экранировать содержимое файла с помощью команды jq @json <<< cat private_key.json, так как AWS CLI принимает данный параметр в строковом формате.

        Версия HTTP v1 API является предпочтительной, так как с июня 2024 года Legacy API не будет поддерживаться FCM.

      • HMS:

        • PlatformPrincipal — идентификатор ключа.
        • PlatformCredential — API-ключ.
      • RuStore:

        • PlatformPrincipal — идентификатор проекта (ProjectID).
        • PlatformCredential — сервисный токен (ServiceToken).

    В результате вы получите идентификатор (ARN) канала уведомлений. Сохраните его для использования в дальнейшем.

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

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

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

    response = client.create_platform_application(
        Name="<имя_канала>",
        Platform="<тип_платформы>",
        Attributes= {
             "<параметр1>": "<значение1>",
             ...
             "<параметрN>": "<значениеN>"
        }
    )
    print ("Platform application ARN:", response['PlatformApplicationArn'])
    

    Где:

    • Name — имя канала уведомлений, задается пользователем.

      Имя должно быть уникальным для всего CNS. После создания канала изменить имя нельзя. Имя может содержать строчные и заглавные буквы латинского алфавита, цифры, подчеркивания, дефисы и точки. Длина — от 1 до 256 символов. Рекомендуется для каналов APNs указывать в имени идентификатор приложения (Bundle ID), для FCM и HMS — полное название пакета приложения (Package name), для RuStore — значение packageName.

    • Platform — тип мобильной платформы:

      • APNS и APNS_SANDBOX — Apple Push Notification service (APNs). Для тестирования приложения используйте APNS_SANDBOX.
      • GCM — Firebase Cloud Messaging (FCM).
      • HMS — Huawei Mobile Services (HMS).
      • RUSTORE — RuStore Android.
    • Attributes — параметры аутентификации на мобильной платформе в формате "<параметр>": "<значение>" через запятую. Значения зависят от типа платформы:

      • APNs:

        • Аутентификация с токеном:

          • PlatformPrincipal — путь к файлу с ключом подписи токена, полученный в Apple.
          • PlatformCredential — идентификатор ключа подписи (Key ID).
          • ApplePlatformTeamID — идентификатор разработчика (Team ID).
          • ApplePlatformBundleID — идентификатор приложения (Bundle ID).
        • Аутентификация с сертификатом:

          • PlatformPrincipal — SSL-сертификат в формате .pem.

          • PlatformCredential — закрытый ключ сертификата в формате .pem.

            Чтобы сохранить сертификат и закрытый ключ в отдельных файлах формата .pem, вы можете воспользоваться утилитой openssl в Linux:

            openssl pkcs12 -in Certificates.p12 -nokeys -nodes -out certificate.pem
            openssl pkcs12 -in Certificates.p12 -nocerts -nodes -out privatekey.pem
            

        Аутентификация с токеном является предпочтительной, как более современная.

      • FCM: PlatformCredential — ключ сервисного аккаунта Google Cloud в формате JSON для аутентификации с помощью HTTP v1 API или API-ключ (server key) для аутентификации с помощью Legacy API.

        Версия HTTP v1 API является предпочтительной, так как с июня 2024 года Legacy API не будет поддерживаться FCM.

      • HMS:

        • PlatformPrincipal — идентификатор ключа.
        • PlatformCredential — API-ключ.
      • RuStore:

        • PlatformPrincipal — идентификатор проекта (ProjectID).
        • PlatformCredential — сервисный токен (ServiceToken).

    В результате вы получите идентификатор (ARN) канала уведомлений.

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

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

    $response = $client->createPlatformApplication(
        [
            'Name' => '<имя_канала>',
            'Platform' => '<тип_платформы>',
            'Attributes' => [
                '<параметр1>' => '<значение1>',
                ...
                '<параметрN>' => '<значениеN>'
            ],
        ]
    );
    
    print($response->get('PlatformApplicationArn'));
    

    Где:

    • Name — имя канала уведомлений, задается пользователем.

      Имя должно быть уникальным для всего CNS. После создания канала изменить имя нельзя. Имя может содержать строчные и заглавные буквы латинского алфавита, цифры, подчеркивания, дефисы и точки. Длина — от 1 до 256 символов. Рекомендуется для каналов APNs указывать в имени идентификатор приложения (Bundle ID), для FCM и HMS — полное название пакета приложения (Package name), для RuStore — значение packageName.

    • Platform — тип мобильной платформы:

      • APNS и APNS_SANDBOX — Apple Push Notification service (APNs). Для тестирования приложения используйте APNS_SANDBOX.
      • GCM — Firebase Cloud Messaging (FCM).
      • HMS — Huawei Mobile Services (HMS).
      • RUSTORE — RuStore Android.
    • Attributes — параметры аутентификации на мобильной платформе в формате '<параметр1>' => '<значение1>' через запятую. Значения зависят от типа платформы:

      • APNs:

        • Аутентификация с токеном:

          • PlatformPrincipal — путь к файлу с ключом подписи токена, полученный в Apple.
          • PlatformCredential — идентификатор ключа подписи (Key ID).
          • ApplePlatformTeamID — идентификатор разработчика (Team ID).
          • ApplePlatformBundleID — идентификатор приложения (Bundle ID).
        • Аутентификация с сертификатом:

          • PlatformPrincipal — SSL-сертификат в формате .pem.

          • PlatformCredential — закрытый ключ сертификата в формате .pem.

            Чтобы сохранить сертификат и закрытый ключ в отдельных файлах формата .pem, вы можете воспользоваться утилитой openssl в Linux:

            openssl pkcs12 -in Certificates.p12 -nokeys -nodes -out certificate.pem
            openssl pkcs12 -in Certificates.p12 -nocerts -nodes -out privatekey.pem
            

        Аутентификация с токеном — более современный и безопасный метод.

      • FCM: PlatformCredential — ключ сервисного аккаунта Google Cloud в формате JSON для аутентификации с помощью HTTP v1 API или API-ключ (server key) для аутентификации с помощью Legacy API.

        Используйте HTTP v1 API, так как с июля 2024 года FCM legacy API не поддерживается.

      • HMS:

        • PlatformPrincipal — идентификатор ключа.
        • PlatformCredential — API-ключ.
      • RuStore:

        • PlatformPrincipal — идентификатор проекта (ProjectID).
        • PlatformCredential — сервисный токен (ServiceToken).

    В результате вы получите идентификатор (ARN) канала уведомлений.

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

Создание канала уведомлений может занять некоторое время.

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

Предыдущая
Все инструкции
Следующая
Изменить канал push-уведомлений
Проект Яндекса
© 2025 ООО «Яндекс.Облако»