Прямая отправка
Отправляет уведомление непосредственно на дескриптор устройства (допустимый маркер, выраженный типом уведомления ). Пользователям этого 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 на основе службы уведомлений целевой платформы:
|
ServiceBusNotification-DeviceHandle | Дескриптор устройства PNS. |
ServiceBusNotification-Tags | {идентификатор одного тега} (необязательно) |
ServiceBusNotification-Format | Задайте для одного из следующих допустимых значений PlatformType: windows , apple , gcm , windowsphone , adm , nokiax . baidu |
x-ms-version | 2015-04 (поддерживается в 2015-01 и более поздних версиях) |
Текст запроса
В зависимости от типа платформы форматы текста запроса изменяются. См. форматы текста для каждой отдельной платформы в собственных ИНТЕРФЕЙСАх REST API отправки.
- Отправка собственного уведомления APNS
- Отправка собственного уведомления FCM
- Отправка собственного уведомления GCM
- Отправка собственного уведомления MPNS
- Отправка собственного уведомления WNS
Ответ
Ответ включает код состояния 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 . |
Текст ответа
Нет.