你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

直接发送

将通知直接发送到设备句柄, (由 通知 类型) 表示的有效令牌。 此 API 的用户不需要使用注册或安装。 而是自行管理所有设备,并仅将 Azure 通知中心用作传递服务来与各种推送通知服务进行通信。

重要

Firebase Cloud Messaging (FCM) 是一项服务,它的功能之一是,帮助开发人员向 Google Play 支持的 Android 设备发送推送通知。 Azure 通知中心当前使用旧版 HTTP 协议与 FCM 通信。 FCM v1 是一个更新的 API,提供更多特性和功能。 Google 宣布弃用 FCM 旧版 HTTP,并将于 2024 年 6 月 20 日停止支持。 因此,目前使用 Azure 通知中心与 Google Play 支持的 Android 设备通信的开发人员需要将其应用程序和通知有效负载迁移到较新的格式。 在 Google 停止接受请求之前,Azure 通知中心将继续支持 FCM 旧版 HTTP。 完成新的 FCM 集成后,Azure 通知中心将宣布何时可以开始迁移。 有关详细信息,请参阅 本文中的迁移步骤

请求

方法 请求 URI HTTP 版本
POST https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/?direct&api-version=2015-04 HTTP/1.1

请求标头

下表介绍必需的和可选的请求标头。

请求标头 说明
授权 服务总线的共享访问签名身份验证中指定的方式生成的 SAS 令牌。
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、、applegcmwindowsphoneadmnokiaxbaidu
x-ms-version 2015-04 (2015-01 及更高版本支持)

请求正文

根据平台类型,请求正文格式会发生变化。 请参阅本机发送 REST API 中每个平台的正文格式。

响应

响应包括 HTTP 状态代码和一组响应标头。 成功后返回响应正文。

响应代码

代码 说明
201 已成功发送消息。
400 请求格式不正确(例如,路由标头无效、内容类型无效、消息大小超出限制、消息格式错误)。
401 授权失败。 访问密钥不正确。
403 已超出配额或消息太大;消息被拒绝。
404 URI 中没有消息分支。
413 请求的实体太大。 消息大小不能超过 64 Kb。

有关状态代码的信息,请参阅 状态和错误代码

响应头

使用 HTTP 1.1 时,使用基于证书的身份验证时 ,PNS 反馈 不起作用;它不返回任何数据。 使用基于令牌的身份验证。

响应标头 说明
Content-Type application/xml; charset=utf-8
位置 此标头仅适用于 标准层通知中心

此标头包含通知消息 ID。 它用于按消息遥测:获取通知消息遥测和关联 PNS 反馈。 位置标头使用以下格式:

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

响应正文

无。

后续步骤