Поделиться через


Прямая отправка

Отправляет уведомление непосредственно на дескриптор устройства (допустимый маркер, выраженный типом уведомления ). Пользователям этого API не нужно использовать регистрации или установки. Вместо этого вы самостоятельно управляете всеми устройствами и используете Центры уведомлений Azure исключительно в качестве сквозной службы для взаимодействия с различными службами push-уведомлений.

Важно!

Firebase Cloud Messaging (FCM) — это служба, которая, среди прочего, упрощает разработчикам отправку push-уведомлений на устройства Android с поддержкой Google Play. Центры уведомлений Azure в настоящее время обмениваются данными с FCM по устаревшей версии протокола HTTP. FCM версии 1 — это обновленный API, который предлагает дополнительные функции и возможности. Google объявила, что они не рекомендуют FCM устаревшего HTTP и прекратит его поддержку 20 июня 2024 года. Поэтому разработчикам, которые сегодня используют Центры уведомлений Azure для взаимодействия с устройствами Android, поддерживаемыми Google Play, потребуется перенести свои приложения и полезные данные уведомлений в новый формат. Центры уведомлений Azure будут продолжать поддерживать устаревший протокол HTTP FCM, пока Google не прекратит принимать запросы. После завершения интеграции с FCM Центры уведомлений Azure объявят, когда вы сможете начать миграцию. Дополнительные сведения см. в разделе Шаги миграции в этой статье.

Запрос

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/?direct&api-version=2015-04 HTTP/1.1

Заголовки запросов

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

Заголовок запроса Описание
Авторизация Маркер SAS создается, как указано в разделе Проверка подлинности подписанного URL-адреса с помощью служебной шины.
Content-Type Задайте заголовок Content-Type на основе службы уведомлений целевой платформы:
  • WNS: задайте значение application/json; charset=utf-8 или application/xml. Если тип уведомления (X-WNS-Type) — "wns/raw", задайте для параметра application/octet-stream.
  • GCM и APNS: задайте для параметра application/json; charset=utf-8.
  • MPNS: задайте значение application/xml;charset=utf-8.
ServiceBusNotification-DeviceHandle Дескриптор устройства PNS.
ServiceBusNotification-Tags {идентификатор одного тега} (необязательно)
ServiceBusNotification-Format Задайте для одного из следующих допустимых значений PlatformType: windows, apple, gcm, windowsphone, adm, nokiax. baidu
x-ms-version 2015-04 (поддерживается в 2015-01 и более поздних версиях)

Текст запроса

В зависимости от типа платформы форматы текста запроса изменяются. См. форматы текста для каждой отдельной платформы в собственных ИНТЕРФЕЙСАх REST API отправки.

Ответ

Ответ включает код состояния HTTP и набор заголовков ответа. Текст ответа возвращается при успешном выполнении.

Коды ответов

Код Описание
201 Сообщение успешно отправлено.
400 Запрос имеет неправильный формат (например, недопустимые заголовки маршрутизации, недопустимый тип содержимого, превышение размера сообщения, неправильный формат сообщения).
401 Ошибка авторизации. Неправильный ключ доступа.
403 Превышена квота или сообщение слишком велико; сообщение отклонено.
404 Ветвь сообщения по URI отсутствует.
413 Запрошенная сущность слишком велика. Размер сообщения не может быть более 64 КБ.

Сведения о кодах состояний см. в разделе Коды состояний и ошибок.

Заголовки ответов

При использовании HTTP 1.1 обратная связь PNS не работает при использовании проверки подлинности на основе сертификатов; он не возвращает никаких данных. Используйте проверку подлинности на основе токенов.

Заголовок ответа Описание
Content-Type application/xml; charset=utf-8
Расположение Этот заголовок доступен только для Центров уведомлений уровня "Стандартный".

Этот заголовок содержит идентификатор сообщения уведомления. Он используется с телеметрией для каждого сообщения: получение телеметрии сообщений уведомлений и корреляция обратной связи PNS. Заголовок расположения имеет следующий формат:

https://{your namespace}.servicebus.windows.net/{your hub name}/messages/{notification message id}?api-version=2015-04.

Текст ответа

Нет.

Дальнейшие действия