Delen via


Telemetrie van meldingsberichten ophalen

Deze API biedt aanvullende telemetrie over de voltooide statussen van uitgaande pushmeldingen. Het is ontworpen om pushmeldingen te controleren die vanuit een hub worden verzonden. De meldings-id die door deze API wordt gebruikt, kan worden opgehaald uit de HTTP-locatieheader die is opgenomen in het antwoord van de REST API die wordt gebruikt om de melding te verzenden.

Deze functie telemetrie per bericht is ook beschikbaar voor geplande meldingen.

Deze API is alleen beschikbaar voor Notification Hubs in de Standard-laag.

Aanvraag

Methode Aanvraag-URI HTTP-versie
GET https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 HTTP/1.1

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven.

Aanvraagheader Beschrijving
Autorisatie SAS-token gegenereerd zoals opgegeven in Shared Access Signature Authentication met Service Bus.
x-ms-version 2016-07 (ondersteund door 2015-01 of hoger)

Aanvraagbody

Geen.

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders. De hoofdtekst van de reactie wordt geretourneerd als dit is gelukt.

Antwoordcodes

Code Description
200 De telemetrie van het bericht is opgehaald. Telemetriegegevens kunnen een gedeeltelijke reactie zijn, afhankelijk van het aantal apparaten waarop het verzonden meldingsbericht is gericht en hoe ver het bericht door ons systeem is verwerkt.
400 Berichttelemetrie kan niet worden opgehaald omdat de aanvraag onjuist is ingedeeld.
401 Autorisatiefout. De toegangssleutel is onjuist.
403 Aanvraag geweigerd omdat deze functie niet is ingeschakeld voor uw SKU. Upgraden naar Standard.
404 Telemetrie bestaat niet. Deze fout kan optreden wanneer de meldings-id ongeldig is.

Zie Status- en foutcodes voor meer informatie over statuscodes.

Antwoordheaders

Antwoordheader Beschrijving
Inhoudstype application/xml; charset=utf-8

Hoofdtekst van de reactie

De hoofdtekst van het antwoord is een NotificationDetails-document dat uit de volgende elementen bestaat:

Element Beschrijving
NotificationId De id die is doorgegeven aan de aanvraag die het meldingsbericht identificeert.
Locatie URI voor het bericht
Staat Geeft de voortgang van het bericht aan. Status kan een van de volgende waarden zijn:
  • Afgestaan: de berichtverwerking is beĆ«indigd. Dit gebeurt wanneer het bericht niet binnen het acceptabele tijdvenster kan worden verwerkt. Standaard duurt dit 30 minuten.
  • Geannuleerd: de gebruiker heeft dit geplande bericht geannuleerd.
  • Voltooid: de berichtverwerking is voltooid.
  • Enqueued: het bericht is geaccepteerd, maar de verwerking is nog niet begonnen.
  • NoTargetFound: er zijn geen apparaten gevonden om dit bericht te verzenden.
  • Verwerken: de berichtverwerking is gestart.
  • Gepland: het bericht staat in de wachtrij en wordt op het geplande tijdstip verzonden.
  • Onbekend: de berichtverwerking heeft een onbekende status.
EnqueueTime Hiermee wordt het tijdstip aangegeven waarop het bericht is geaccepteerd.
StartTime Geeft aan wanneer de Notification Hub-service is begonnen met werken aan de melding.
EndTime Geeft aan wanneer de Notification Hub-service is voltooid voor de melding.
NotificationBody Hoofdtekst van het oorspronkelijke meldingsbericht.
TargetPlatforms Hiermee wordt aangegeven op welke platforms de melding is gericht. Kan de volgende waarden bevatten als een door komma's gescheiden tekenreeks:
  • windows
  • apple
  • gcm
  • windowsphone
  • adm
  • baidu
  • template
  • windowstemplate
  • appletemplate
  • gcmtemplate
  • windowsphonetemplate
  • admtemplate
  • baidutemplate
ApnsOutcomeCounts Dit element is aanwezig voor meldingen die worden verzonden naar Apple Push Notification Service. Bevat een verzameling resultaatexemplaren.
MpnsOutcomeCounts Dit element is aanwezig voor meldingen die worden verzonden naar Microsoft Push Notification Service. Bevat een verzameling resultaatexemplaren.
WnsOutcomeCounts Dit element is aanwezig voor meldingen die worden verzonden naar Windows Notification Service. Bevat een verzameling resultaatexemplaren.
GcmOutcomeCounts Dit element is aanwezig voor meldingen die worden verzonden naar Google Cloud Messaging. Bevat een verzameling resultaatexemplaren.
AdmOutcomeCounts Dit element is aanwezig voor meldingen die worden verzonden naar Amazon Device Messaging. Bevat een verzameling resultaatexemplaren.
Resultaat Een verzameling van deze exemplaren bestaat uit de bovenstaande aantallen voor elke platformmeldingsservice. Elk resultaat kan een van de benoemde aantallen zijn die worden vermeld in de sectie Resultaten .
PnsErrorDetailsUri Vereist dat Api-Version 2016-07 en hoger wordt gebruikt voor deze API en de API die het meldingsbericht verzendt.

PNS-foutdetails zijn pas volledig beschikbaar nadat de gekoppelde verzendbewerking is voltooid.

Haalt de URI op naar een blob met fouten die door elke betrokken PNS worden geretourneerd. Als er geen fouten zijn gerapporteerd door een PNS, wordt dit lid niet opgenomen in het antwoord. U kunt de Azure Storage-API gebruiken om de blob te lezen. Zie Get started with Azure Blob Storage using .NET or Azure Storage REST API Reference (Aan de slag met Azure Blob-opslag met behulp van .NET - of Azure Storage Services REST API-verwijzing ) Mogelijke PNS-fouten zijn voor meer informatie:
  • Ongeldige PNS-referenties
  • PNS onbereikbaar
  • BadChannel
  • Verlopenkanaal
  • Pns Beperkt
  • InvalidToken
  • WrongToken
  • Gedaald
  • WrongChannel

Resultaten

Naam Beschrijving van aantal
AbandonedNotificationMessages Aantal verzendaanvragen voor pushservice die zijn verwijderd vanwege een time-out.
BadChannel Communicatie met de pushservice is mislukt omdat het kanaal ongeldig is.
ChannelDisconnected De verbinding met de pushservice is verbroken.
ChannelThrottled De pushservice heeft de toegang geweigerd vanwege beperking.
Gedaald Pushservice geeft aan dat het bericht is verwijderd.
Verlopenkanaal Communicatie met de pushservice is mislukt omdat het kanaal is verlopen.
InvalidCredentials Referenties die worden gebruikt voor verificatie bij de pushservice zijn mislukt.
InvalidNotificationSize De pushaanvraag is te groot.
NoTargets Aantal aanvragen waarvoor niets is gevonden om naar te verzenden.
PnsInterfaceError Communicatie met het pushservicecontract is mislukt.
PnsServerError De pushservice geeft aan dat er een fout is opgetreden aan hun kant.
PnsUnavailable Pushservice is niet beschikbaar.
PnsUnreachable De pushservice reageert niet.
Overgeslagen Aantal dubbele registraties (dezelfde PNS-ingang gevonden, andere registratie-id).
Geslaagd De aanvraag is verzonden naar een aantal apparaten.
Smoorklep De pushservice heeft de toegang geweigerd vanwege beperking.
UnknownError Er is een onbekende fout opgetreden.
WrongToken De PNS-ingang is niet door de PNS herkend als een geldige ingang.

Hier volgt een voorbeeld van telemetrie van het verzenden van een melding naar 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>

Zie ook

Een sjabloonmelding verzenden
Een systeemeigen APNS-melding verzenden
Een systeemeigen GCM-melding verzenden
Een systeemeigen MPNS-melding verzenden
Een systeemeigen WNS-melding verzenden