Obter telemetria de mensagem de notificação
Essa API fornece telemetria adicional nos estados concluídos das notificações por push de saída. Ele foi projetado para ajudar a monitorar as notificações por push enviadas de um hub. A ID de notificação que essa API usa pode ser recuperada do cabeçalho local HTTP incluído na resposta da API REST usada para enviar a notificação.
Esse recurso de Telemetria por Mensagem também está disponível para notificações agendadas.
Essa API só está disponível para hubs de notificação da camada Standard.
Solicitação
Método | URI da solicitação | Versão HTTP |
---|---|---|
GET | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 |
HTTP/1.1 |
Cabeçalhos da solicitação
A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais.
Cabeçalho da solicitação | Descrição |
---|---|
Autorização | Token SAS gerado conforme especificado na Autenticação de Assinatura de Acesso Compartilhado com o Barramento de Serviço. |
x-ms-version | 2016-07 (com suporte em 2015-01 ou posterior) |
Corpo da solicitação
Nenhum.
Resposta
A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta. O corpo da resposta é retornado com êxito.
Códigos de resposta
Código | Descrição |
---|---|
200 | A telemetria da mensagem foi recuperada com êxito. Os dados de telemetria podem ser uma resposta parcial, dependendo do número de dispositivos direcionados pela mensagem de notificação que foi enviada e até que ponto a mensagem progrediu em nosso sistema para processamento. |
400 | Não foi possível recuperar a telemetria da mensagem porque a solicitação foi malformada. |
401 | Falha de autorização. A chave de acesso estava incorreta. |
403 | Solicitação rejeitada porque esse recurso não está habilitado para sua SKU. Atualize para Standard. |
404 | A telemetria não existe. Esse erro pode ocorrer quando a ID de notificação é inválida. |
Para obter informações sobre códigos de status, consulte Códigos de status e de erro.
Cabeçalhos de resposta
Cabeçalho de resposta | Descrição |
---|---|
Content-type | application/xml; charset=utf-8 |
Corpo da resposta
O corpo da resposta é um documento NotificationDetails que consiste nos seguintes elementos:
Elemento | Descrição |
---|---|
NotificationId | A ID passada para a solicitação que identifica a mensagem de notificação. |
Local | URI da mensagem |
Estado | Indica o progresso da mensagem. O estado pode ser um dos seguintes valores:
|
EnqueueTime | Indica a hora em que a mensagem foi aceita. |
StartTime | Indica quando o serviço do hub de notificação começou a funcionar na notificação. |
EndTime | Indica quando o serviço do hub de notificação concluiu o trabalho na notificação. |
NotificationBody | Corpo da mensagem de notificação original. |
TargetPlatforms | Indica quais plataformas os destinos de notificação. Pode conter os seguintes valores como uma cadeia de caracteres delimitada por vírgulas:
|
ApnsOutcomeCounts | Esse elemento está presente para notificações enviadas ao Apple Push Notification Service. Contém uma coleção de instâncias de Resultado. |
MpnsOutcomeCounts | Esse elemento está presente para notificações enviadas ao Serviço de Notificação por Push da Microsoft. Contém uma coleção de instâncias de Resultado. |
WnsOutcomeCounts | Esse elemento está presente para notificações enviadas ao Serviço de Notificação do Windows. Contém uma coleção de instâncias de Resultado. |
GcmOutcomeCounts | Esse elemento está presente para notificações enviadas ao Google Cloud Messaging. Contém uma coleção de instâncias de Resultado. |
AdmOutcomeCounts | Esse elemento está presente para notificações enviadas ao Amazon Device Messaging. Contém uma coleção de instâncias de Resultado. |
Resultado | Uma coleção dessas instâncias compõe as contagens acima para cada serviço de notificação de plataforma. Cada resultado pode ser uma das contagens nomeadas mencionadas na seção Resultados. |
PnsErrorDetailsUri | Requer Api-Version 2016-07 e superior usado para essa API e a API que envia a mensagem de notificação. Os detalhes do erro PNS só estarão totalmente disponíveis após a conclusão da operação de envio associada. Obtém o URI para um blob que contém erros retornados por cada PNS envolvido. Se nenhum erro tiver sido relatado por um PNS, esse membro não será incluído na resposta. Você pode usar a API de Armazenamento do Azure para ler o blob. Para obter mais informações, consulte Introdução ao Armazenamento de Blobs do Azure usando .NET ou Referência da API REST dos Serviços de Armazenamento do Azure Possíveis erros de PNS incluem:
|
Resultados
Name | Descrição da contagem |
---|---|
AbandonedNotificationMessages | Contagem de solicitações de envio para o serviço de push que foram descartadas devido a um tempo limite. |
BadChannel | Falha na comunicação com o serviço de push porque o canal era inválido. |
ChannelDisconnected | Serviço de push desconectado. |
ChannelThrottled | O serviço de push negou acesso devido à limitação. |
Dropped | O serviço de push indica que a mensagem foi descartada. |
ExpiredChannel | Falha na comunicação com o serviço de push porque o canal expirou. |
InvalidCredentials | As credenciais usadas para autenticar no serviço de push falharam. |
InvalidNotificationSize | A solicitação por push é muito grande. |
NoTargets | Contagem de solicitações que não encontraram nada para enviar. |
PnsInterfaceError | Falha na comunicação do contrato de serviço push. |
PnsServerError | O serviço de push indicou que ocorreu um erro no lado deles. |
PnsUnavailable | O serviço de push não está disponível. |
PnsUnreachable | O serviço de push não estava respondendo. |
Ignorado | Contagem de registros duplicados (mesmo identificador PNS encontrado, ID de registro diferente). |
Êxito | A solicitação foi enviada com êxito para alguns dispositivos. |
Acelerado | O serviço de push negou acesso devido à limitação. |
UnknownError | Ocorreu um erro desconhecido. |
WrongToken | O identificador PNS não foi reconhecido pelo PNS como um identificador válido. |
Aqui está um exemplo de telemetria do envio de uma notificação para o WNS:
<NotificationDetails xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<NotificationId>{Your message id}</NotificationId>
<Location>sb://{Your namespace}.servicebus.windows.net/{your hub name}/messages/{your message id}?api-version=2015-04</Location>
<State>Completed</State>
<EnqueueTime>2015-11-02T21:19:43Z</EnqueueTime>
<StartTime>2015-11-02T21:19:43.9926996Z</StartTime>
<EndTime>2015-11-02T21:19:43.9926996Z</EndTime>
<NotificationBody><?xml version="1.0" encoding="utf-16"?><toast><visual><binding template="ToastText01"><text id="1">Hello from a .NET App!</text></binding></visual></toast></NotificationBody>
<TargetPlatforms>windows</TargetPlatforms>
<WnsOutcomeCounts>
<Outcome>
<Name>Success</Name>
<Count>3</Count>
</Outcome>
<Outcome>
<Name>WrongToken</Name>
<Count>1</Count>
</Outcome>
</WnsOutcomeCounts>
<PnsErrorDetailsUri>{Blob uri}</PnsErrorDetailsUri>
</NotificationDetails>
Consulte Também
Enviar uma notificação de modelo
Enviar uma notificação nativa de APNS
Enviar uma notificação nativa do GCM
Enviar uma notificação nativa do MPNS
Enviar uma notificação nativa do WNS