Freigeben über


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:
  • Abgebrochen: Die Nachrichtenverarbeitung wurde abgebrochen. Dies geschieht, wenn die Nachricht nicht innerhalb des akzeptablen Zeitfensters verarbeitet werden konnte. Standardmäßig sind es 30 Minuten.
  • Abgebrochen: Der Benutzer hat diese geplante Nachricht abgebrochen.
  • Abgeschlossen: Die Nachrichtenverarbeitung wurde abgeschlossen.
  • In die Warteschlange gestellt: Die Nachricht wurde akzeptiert, aber die Verarbeitung wurde noch nicht begonnen.
  • NoTargetFound: Es wurden keine Geräte gefunden, die diese Nachricht senden.
  • Verarbeitung: Die Nachrichtenverarbeitung wurde gestartet.
  • Geplant: Die Nachricht befindet sich in der Warteschlange und wird zum geplanten Zeitpunkt gesendet.
  • Unbekannt: Die Nachrichtenverarbeitung befindet sich in einem unbekannten Zustand.
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:
  • windows
  • apple
  • gcm
  • windowsphone
  • adm
  • baidu
  • template
  • windowstemplate
  • appletemplate
  • gcmtemplate
  • windowsphonetemplate
  • admtemplate
  • baidutemplate
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:
  • Ungültige PNS-Anmeldeinformationen
  • PNS unerreichbar
  • BadChannel
  • ExpiredChannel
  • PnsThrottled
  • InvalidToken
  • WrongToken
  • Dropped
  • WrongChannel

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>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;toast&gt;&lt;visual&gt;&lt;binding template="ToastText01"&gt;&lt;text id="1"&gt;Hello from a .NET App!&lt;/text&gt;&lt;/binding&gt;&lt;/visual&gt;&lt;/toast&gt;</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