Envio direto
Envia uma notificação diretamente para uma alça de dispositivo (um token válido, conforme expresso pelo tipo de Notificação ). Os utilizadores desta API não precisam de utilizar registos ou instalações. Em vez disso, gere todos os dispositivos por conta própria e utiliza os Hubs de Notificação do Azure apenas como um serviço pass-through para comunicar com os vários Serviços de Notificação Push.
Importante
O Firebase Cloud Messaging (FCM) é um serviço que, entre outras coisas, facilita o envio de notificações push para dispositivos Android suportados pelo Google Play. Atualmente, os Hubs de Notificação do Azure comunicam com a FCM com o protocolo HTTP legado. A FCM v1 é uma API atualizada que oferece mais funcionalidades e capacidades. A Google anunciou que está a preterir o HTTP legado da FCM e deixará de o apoiar a 20 de junho de 2024. Por conseguinte, os programadores que utilizam os Hubs de Notificação do Azure para comunicar com dispositivos Android suportados pelo Google Play atualmente terão de migrar as suas aplicações e payloads de notificação para o formato mais recente. Os Hubs de Notificação do Azure continuarão a suportar HTTP legado da FCM até que a Google deixe de aceitar pedidos. Assim que a nova integração da FCM estiver concluída, os Hubs de Notificação do Azure anunciarão quando pode começar a migrar. Para obter mais detalhes, veja os passos de migração neste artigo.
Pedir
Método | URI do pedido | Versão HTTP |
---|---|---|
POST | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/?direct&api-version=2015-04 |
HTTP/1.1 |
Cabeçalhos do pedido
A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.
Cabeçalho do pedido | Description |
---|---|
Autorização | Token de SAS gerado conforme especificado em Autenticação de Assinatura de Acesso Partilhado com o Service Bus. |
Content-Type | Defina o cabeçalho Tipo de Conteúdo com base no serviço de notificação da plataforma de destino:
|
ServiceBusNotification-DeviceHandle | A alça do dispositivo PNS. |
ServiceBusNotification-Tags | {single tag identifier} (opcional) |
ServiceBusNotification-Format | Defina como um dos seguintes valores de PlatformType válidos: windows , , apple , gcm , windowsphone , adm , nokiax baidu |
x-ms-version | 2015-04 (Suportado por 2015-01 e posterior) |
Corpo do pedido
Com base no tipo de plataforma, o formato do corpo do pedido muda. Veja os formatos do corpo de cada plataforma individual nas APIs REST de Envio nativas.
- Enviar uma notificação nativa do APNS
- Enviar uma notificação nativa de FCM
- Enviar uma notificação nativa do GCM
- Enviar uma notificação nativa do MPNS
- Enviar uma notificação nativa do WNS
Resposta
A resposta inclui um código de estado HTTP e um conjunto de cabeçalhos de resposta. O corpo da resposta é devolvido com êxito.
Códigos de resposta
Código | Descrição |
---|---|
201 | Mensagem enviada com êxito. |
400 | O pedido é mal formado (por exemplo, cabeçalhos de encaminhamento não válidos, não é válido tipo de conteúdo, a mensagem excede o tamanho, formato de mensagem incorreto). |
401 | Falha de autorização. A chave de acesso estava incorreta. |
403 | Quota excedida ou mensagem demasiado grande; a mensagem foi rejeitada. |
404 | Nenhum ramo de mensagem no URI. |
413 | Entidade pedida demasiado grande. O tamanho da mensagem não pode ter mais de 64 Kb. |
Para obter informações sobre códigos de estado, veja Códigos de Estado e Erro.
Cabeçalhos de resposta
Ao utilizar HTTP 1.1, o feedback PNS não funciona ao utilizar a autenticação baseada em certificados; não devolve dados. Utilize a autenticação baseada em tokens.
Cabeçalho de resposta | Descrição |
---|---|
Content-Type | application/xml; charset=utf-8 |
Localização | Este cabeçalho só está disponível para Hubs de Notificação de escalão Standard. Este cabeçalho contém o ID da mensagem de notificação. É utilizado com telemetria por mensagem: Obter Telemetria de Mensagens de Notificação e correlacionar comentários PNS. O cabeçalho de localização utiliza o seguinte formato: https://{your namespace}.servicebus.windows.net/{your hub name}/messages/{notification message id}?api-version=2015-04 . |
Corpo da resposta
Nenhum.