Ottenere i dati di telemetria dei messaggi di notifica
Questa API fornisce dati di telemetria aggiuntivi sugli stati completati delle notifiche push in uscita. È progettato per monitorare le notifiche push inviate da un hub. L'ID notifica usato da questa API può essere recuperato dall'intestazione Percorso HTTP inclusa nella risposta dell'API REST usata per inviare la notifica.
Questa funzionalità di telemetria per messaggio è disponibile anche per le notifiche pianificate.
Questa API è disponibile solo per hub di notifica del livello Standard.
Richiesta
Metodo | URI richiesta | Versione HTTP |
---|---|---|
GET | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 |
HTTP/1.1 |
Intestazioni della richiesta
Nella seguente tabella vengono descritte le intestazioni di richiesta obbligatorie e facoltative.
Intestazione della richiesta | Descrizione |
---|---|
Autorizzazione | Token di firma di accesso condiviso generato come specificato in Autenticazione della firma di accesso condiviso con il bus di servizio. |
x-ms-version | 2016-07 (supportato da 2015-01 o versioni successive) |
Testo della richiesta
Nessuno.
Risposta
Nella risposta sono inclusi un codice di stato HTTP e un set di intestazioni per la risposta. Il corpo della risposta viene restituito in caso di esito positivo.
Codici di risposta
Codice | Descrizione |
---|---|
200 | I dati di telemetria del messaggio sono stati recuperati correttamente. I dati di telemetria possono essere una risposta parziale, a seconda del numero di dispositivi di destinazione del messaggio di notifica inviato e della distanza di avanzamento del messaggio attraverso il sistema per l'elaborazione. |
400 | Impossibile recuperare i dati di telemetria dei messaggi perché la richiesta non è riuscita. |
401 | Errore di autorizzazione. La chiave di accesso non è corretta. |
403 | Richiesta rifiutata perché questa funzionalità non è abilitata per lo SKU. Eseguire l'aggiornamento a Standard. |
404 | La telemetria non esiste. Questo errore può verificarsi quando l'ID di notifica non è valido. |
Per informazioni sui codici di stato, vedere Codici di stato e di errore.
Intestazioni di risposta
Intestazione risposta | Descrizione |
---|---|
Tipo di contenuto | application/xml; charset=utf-8 |
Corpo della risposta
Il corpo della risposta è un documento NotificationDetails costituito dagli elementi seguenti:
Elemento | Descrizione |
---|---|
NotificationId | ID passato alla richiesta che identifica il messaggio di notifica. |
Posizione | URI per il messaggio |
State | Indica lo stato del messaggio. Lo stato può essere uno dei valori seguenti:
|
EnqueueTime | Indica l'ora in cui il messaggio è stato accettato. |
StartTime | Indica quando il servizio hub di notifica ha avviato il lavoro sulla notifica. |
EndTime | Indica quando il servizio hub di notifica ha completato il lavoro sulla notifica. |
NotificationBody | Corpo del messaggio di notifica originale. |
TargetPlatforms | Indica le piattaforme di destinazione della notifica. Può contenere i valori seguenti come stringa delimitata da virgole:
|
ApnsOutcomeCounts | Questo elemento è presente per le notifiche inviate a Apple Push Notification Service. Contiene una raccolta di istanze di Risultato. |
MpnsOutcomeCounts | Questo elemento è presente per le notifiche inviate a Microsoft Push Notification Service. Contiene una raccolta di istanze di Risultato. |
WnsOutcomeCounts | Questo elemento è presente per le notifiche inviate al servizio di notifica di Windows. Contiene una raccolta di istanze di Risultato. |
GcmOutcomeCounts | Questo elemento è presente per le notifiche inviate a Google Cloud Messaging. Contiene una raccolta di istanze di Risultato. |
AdmOutcomeCounts | Questo elemento è presente per le notifiche inviate a Amazon Device Messaging. Contiene una raccolta di istanze di Risultato. |
Risultato | Una raccolta di queste istanze è costituita dai conteggi precedenti per ogni servizio di notifica della piattaforma. Ogni risultato può essere uno dei conteggi denominati menzionati nella sezione Risultati. |
PnsErrorDetailsUri | Richiede Api-Version 2016-07 e versioni successive usate per questa API e l'API che invia il messaggio di notifica. I dettagli dell'errore PNS sono completamente disponibili solo dopo il completamento dell'operazione di invio associata. Ottiene l'URI in un BLOB contenente errori restituiti da ogni PNS coinvolto. Se non sono stati segnalati errori da un PNS, questo membro non è incluso nella risposta. È possibile usare l'API di archiviazione di Azure per leggere il BLOB. Per altre informazioni, vedere Introduzione all'archiviazione BLOB di Azure con .NET o riferimento all'API REST di Servizi di archiviazione di Azure Possibili errori PNS:
|
Risultati
Nome | Descrizione conteggio |
---|---|
AbandonedNotificationMessages | Numero di richieste di invio per il servizio push eliminato a causa di un timeout. |
BadChannel | La comunicazione al servizio push non è riuscita perché il canale non è valido. |
ChannelDisconnected | Servizio push disconnesso. |
ChannelThrottled | Servizio push negato l'accesso a causa della limitazione della limitazione. |
Dropped | Il servizio push indica che il messaggio è stato eliminato. |
ExpiredChannel | La comunicazione al servizio push non è riuscita perché il canale è scaduto. |
InvalidCredentials | Le credenziali usate per l'autenticazione al servizio push non sono riuscite. |
InvalidNotificationSize | La richiesta push è troppo grande. |
NoTargets | Conteggio delle richieste a cui non è stato trovato alcun invio. |
PnsInterfaceError | La comunicazione del contratto di servizio push non è riuscita. |
PnsServerError | Il servizio push indica che si è verificato un errore sul lato. |
PnsUnavailable | Il servizio push non è disponibile. |
PnsUnreachable | Il servizio push non è stato rispondente. |
Operazione ignorata | Numero di registrazioni duplicate (lo stesso handle PNS trovato, ID di registrazione diverso). |
Operazione riuscita | È stato inviato correttamente la richiesta a un numero di dispositivi. |
Sospensione causata dal servizio Microsoft FullText | Servizio push negato l'accesso a causa della limitazione della limitazione. |
UnknownError | Errore sconosciuto. |
WrongToken | L'handle PNS non è stato riconosciuto dal PNS come handle valido. |
Ecco un esempio di telemetria dall'invio di una notifica a 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>
Vedere anche
Inviare una notifica di modello
Inviare una notifica nativa APNS
Inviare una notifica nativa di GCM
Inviare una notifica nativa MPNS
Inviare una notifica nativa WNS