Abrufen von Telemetriedaten für Benachrichtigungen
Diese API stellt zusätzliche Telemetriedaten zum Status der ausgehenden Pushbenachrichtigungen bereit. Sie dient zum Überwachen von Pushbenachrichtigungen, die von einem Hub gesendet werden. Die von dieser API verwendete Benachrichtigungs-ID kann aus dem HTTP-Speicherortheader abgerufen werden, der in der Antwort der REST-API enthalten ist, die zum Senden der Benachrichtigung verwendet wird.
Dieses Feature pro Nachrichtentelemetrie ist auch für geplante Benachrichtigungen verfügbar.
Diese API ist nur für Notification Hubs im Standard-Tarif verfügbar.
Anforderung
Methode | Anforderungs-URI | HTTP-Version |
---|---|---|
GET | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 |
HTTP/1.1 |
Anforderungsheader
In der folgenden Tabelle werden erforderliche und optionale Anforderungsheader beschrieben.
Anforderungsheader | BESCHREIBUNG |
---|---|
Authorization | SAS-Token generiert, wie in Shared Access Signature Authentication with Service Bus angegeben. |
x-ms-version | 2016-07 (unterstützt von 2015-01 oder höher) |
Anforderungstext
Keine.
Antwort
Die Antwort enthält den HTTP-Statuscode und einen Satz von Antwortheadern. Der Antworttext wird bei Erfolg zurückgegeben.
Antwortcodes
Code | BESCHREIBUNG |
---|---|
200 | Die Nachrichtentelemetriedaten wurden erfolgreich abgerufen. Telemetriedaten können eine Teilantwort sein, abhängig von der Anzahl der Geräte, auf die die gesendete Benachrichtigung abzielt, und davon, wie weit die Nachricht für die Verarbeitung über unser System verfügt. |
400 | Nachrichtentelemetriedaten konnten nicht abgerufen werden, weil die Anforderung falsch formatiert war. |
401 | Autorisierungsfehler Der Zugriffsschlüssel war falsch. |
403 | Die Anforderung wurde abgelehnt, da dieses Feature für Ihre SKU nicht aktiviert ist. Upgrade auf Standard. |
404 | Telemetriedaten sind nicht vorhanden. Dieser Fehler kann auftreten, wenn die Benachrichtigungs-ID ungültig ist. |
Informationen zu status Codes finden Sie unter Status- und Fehlercodes.
Antwortheader
Antwortheader | BESCHREIBUNG |
---|---|
Inhaltstyp | application/xml; charset=utf-8 |
Antworttext
Der Antworttext ist ein NotificationDetails-Dokument, das aus den folgenden Elementen besteht:
Element | BESCHREIBUNG |
---|---|
NotificationId | Die ID, die an die Anforderung übergeben wird, die die Benachrichtigung identifiziert. |
Standort | URI für die Nachricht |
State | Gibt den Nachrichtenstatus an. State kann einer der folgenden Werte sein:
|
EnqueueTime | Gibt den Zeitpunkt an, zu dem die Nachricht akzeptiert wurde. |
StartTime | Gibt an, wann der Notification Hub-Dienst mit der Arbeit an der Benachrichtigung begonnen hat. |
EndTime | Gibt an, wann der Notification Hub-Dienst die Arbeit an der Benachrichtigung abgeschlossen hat. |
NotificationBody | Text der ursprünglichen Benachrichtigung. |
TargetPlatforms | Gibt an, auf welche Plattformen die Benachrichtigung abzielt. Kann die folgenden Werte als durch Trennzeichen getrennte Zeichenfolge enthalten:
|
ApnsOutcomeCounts | Dieses Element ist für Benachrichtigungen vorhanden, die an den Apple Push Notification Service gesendet werden. Enthält eine Auflistung von Outcome-Instanzen. |
MpnsOutcomeCounts | Dieses Element ist für Benachrichtigungen vorhanden, die an den Microsoft-Pushbenachrichtigungsdienst gesendet werden. Enthält eine Auflistung von Outcome-Instanzen. |
WnsOutcomeCounts | Dieses Element ist für Benachrichtigungen vorhanden, die an den Windows-Benachrichtigungsdienst gesendet werden. Enthält eine Auflistung von Outcome-Instanzen. |
GcmOutcomeCounts | Dieses Element ist für Benachrichtigungen vorhanden, die an Google Cloud Messaging gesendet werden. Enthält eine Auflistung von Outcome-Instanzen. |
AdmOutcomeCounts | Dieses Element ist für Benachrichtigungen vorhanden, die an Amazon Device Messaging gesendet werden. Enthält eine Auflistung von Outcome-Instanzen. |
Ergebnis | Eine Sammlung dieser Instanzen setzt sich aus den oben genannten Zählungen für jeden Plattformbenachrichtigungsdienst zusammen. Jedes Ergebnis kann eine der benannten Anzahlen sein, die im Abschnitt Ergebnisse erwähnt werden. |
PnsErrorDetailsUri | Erfordert Api-Version 2016-07 und höher, die für diese API und die API verwendet wird, die die Benachrichtigungsnachricht sendet. PNS-Fehlerdetails sind erst vollständig verfügbar, nachdem der zugehörige Sendevorgang abgeschlossen ist. Ruft den URI in ein Blob ab, das Fehler enthält, die von den einzelnen beteiligten PNS zurückgegeben werden. Wenn keine Fehler von einem PNS gemeldet wurden, ist dieser Member nicht in der Antwort enthalten. Sie können die Azure Storage-API verwenden, um das Blob zu lesen. Weitere Informationen finden Sie unter Erste Schritte mit Azure Blob Storage mithilfe von .NET oder Azure Storage Services REST API Reference Mögliche PNS-Fehler:
|
Ergebnisse
Name | Beschreibung der Anzahl |
---|---|
AbandonedNotificationMessages | Anzahl der Sendeanforderungen an den Pushdienst, die aufgrund eines Timeouts gelöscht wurden. |
BadChannel | Bei der Kommunikation mit dem Pushdienst ist ein Fehler aufgetreten, da der Kanal ungültig war. |
ChannelDisconnected | Pushdienst getrennt. |
ChannelThrottled | Pushdienst verweigert den Zugriff aufgrund von Drosselung. |
Dropped | Pushdienst gibt an, dass die Nachricht gelöscht wurde. |
ExpiredChannel | Die Kommunikation mit dem Pushdienst ist fehlgeschlagen, weil der Kanal abgelaufen ist. |
InvalidCredentials | Fehler bei den Anmeldeinformationen, die für die Authentifizierung beim Pushdienst verwendet wurden. |
InvalidNotificationSize | Die Pushanforderung ist zu groß. |
NoTargets | Anzahl der Anforderungen, an die nichts gesendet werden kann. |
PnsInterfaceError | Fehler bei der Kommunikation mit Pushdienstverträgen. |
PnsServerError | Pushdienst hat angegeben, dass auf ihrer Seite ein Fehler aufgetreten ist. |
PnsUnavailable | Der Pushdienst ist nicht verfügbar. |
PnsUnreachable | Der Pushdienst reagierte nicht. |
Ausgelassen | Anzahl doppelter Registrierungen (gleiches PNS-Handle gefunden, unterschiedliche Registrierungs-ID). |
Erfolg | Die Anforderung wurde erfolgreich an eine bestimmte Anzahl von Geräten gesendet. |
Gedrosselt | Pushdienst verweigert den Zugriff aufgrund von Drosselung. |
UnknownError | Ein unbekannter Fehler ist aufgetreten. |
WrongToken | Das PNS-Handle wurde vom PNS nicht als gültiges Handle erkannt. |
Hier sehen Sie ein Beispiel für Telemetriedaten aus dem Senden einer Benachrichtigung an 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>
Weitere Informationen
Senden einer Vorlagenbenachrichtigung
Senden einer nativen APNS-Benachrichtigung
Senden einer nativen GCM-Benachrichtigung
Senden einer nativen MPNS-Benachrichtigung
Senden einer nativen WNS-Benachrichtigung