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:
|
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:
|
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:
|
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><?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>
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