Share via


Hämta telemetri för aviseringsmeddelanden

Det här API:et tillhandahåller ytterligare telemetri om slutförda tillstånd för utgående push-meddelanden. Den är utformad för att övervaka push-meddelanden som skickas från en hubb. Det meddelande-ID som det här API:et använder kan hämtas från HTTP-platsrubriken som ingår i svaret för REST-API:et som används för att skicka meddelandet.

Den här telemetrifunktionen per meddelande är också tillgänglig för schemalagda meddelanden.

Det här API:et är endast tillgängligt för meddelandehubbar på Standard-nivå.

Förfrågan

Metod URI för förfrågan HTTP-version
GET https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 HTTP/1.1

Begärandehuvuden

I följande tabell beskrivs obligatoriska och valfria begärandehuvuden.

Begärandehuvud Beskrivning
Auktorisering SAS-token som genereras enligt specifikationen i Signaturautentisering för delad åtkomst med Service Bus.
x-ms-version 2016-07 (stöds av 2015-01 eller senare)

Begärandetext

Inga.

Svarsåtgärder

Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden. Svarstexten returneras när åtgärden lyckades.

Svarskoder

Kod Description
200 Meddelandetelemetrin har hämtats. Telemetridata kan vara ett partiellt svar, beroende på antalet enheter som har skickats av aviseringsmeddelandet och hur långt meddelandet har förlopp genom vårt system för bearbetning.
400 Det gick inte att hämta meddelandetelemetrin eftersom begäran var felaktig.
401 Auktoriseringsfel. Åtkomstnyckeln var felaktig.
403 Begäran avvisades eftersom den här funktionen inte är aktiverad för din SKU. Uppgradera till Standard.
404 Telemetri finns inte. Det här felet kan inträffa när meddelande-ID:t är ogiltigt.

Information om statuskoder finns i Status och Felkoder.

Svarshuvuden

Svarsrubrik Description
Innehållstyp application/xml; charset=utf-8

Själva svaret

Svarstexten är ett NotificationDetails-dokument som består av följande element:

Element Beskrivning
NotificationId Det ID som skickas till begäran som identifierar aviseringsmeddelandet.
Location URI för meddelandet
Tillstånd Anger meddelandestatus. Tillstånd kan vara något av följande värden:
  • Övergiven: Meddelandebearbetningen har avbrutits. Det inträffar när meddelandet inte kunde bearbetas inom den godkända tidsperioden. Som standard är det 30 minuter.
  • Avbröts: Användaren avbröt det här schemalagda meddelandet.
  • Slutfört: Meddelandebearbetningen har slutförts.
  • Enqueued: Meddelandet har accepterats men bearbetningen har ännu inte påbörjats.
  • NoTargetFound: Inga enheter hittades för att skicka det här meddelandet.
  • Bearbetning: Meddelandebearbetningen har startats.
  • Schemalagd: Meddelandet är i kö och skickas vid den schemalagda tiden.
  • Okänd: Meddelandebearbetningen är i ett okänt tillstånd.
EnqueueTime Anger när meddelandet accepterades.
StartTime Anger när meddelandehubbens tjänst började arbeta med meddelandet.
EndTime Anger när meddelandehubbens tjänst har slutfört arbetet med meddelandet.
NotificationBody Brödtexten i det ursprungliga aviseringsmeddelandet.
TargetPlatforms Anger vilka plattformar som meddelandet riktar sig till. Kan innehålla följande värden som en kommaavgränsad sträng:
  • windows
  • apple
  • gcm
  • windowsphone
  • adm
  • baidu
  • template
  • windowstemplate
  • appletemplate
  • gcmtemplate
  • windowsphonetemplate
  • admtemplate
  • baidutemplate
ApnsOutcomeCounts Det här elementet finns för meddelanden som skickas till Apple Push Notification Service. Innehåller en samling resultatinstanser.
MpnsOutcomeCounts Det här elementet finns för meddelanden som skickas till Microsoft Push Notification Service. Innehåller en samling resultatinstanser.
WnsOutcomeCounts Det här elementet finns för meddelanden som skickas till Windows Notification Service. Innehåller en samling resultatinstanser.
GcmOutcomeCounts Det här elementet finns för meddelanden som skickas till Google Cloud Messaging. Innehåller en samling resultatinstanser.
AdmOutcomeCounts Det här elementet finns för meddelanden som skickas till Amazon Device Messaging. Innehåller en samling resultatinstanser.
Resultat En samling av dessa instanser utgör antalet ovan för varje plattformsmeddelandetjänst. Varje resultat kan vara ett av de namngivna antal som nämns i avsnittet Resultat .
PnsErrorDetailsUri Kräver Api-Version 2016-07 och senare som används för det här API:et och API:et som skickar meddelandet.

PNS-felinformation är endast fullständigt tillgänglig när den associerade sändningsåtgärden har slutförts.

Hämtar URI:n till en blob som innehåller fel som returneras av varje berörd PNS. Om inga fel rapporterades av en PNS ingår inte den här medlemmen i svaret. Du kan använda Azure Storage-API:et för att läsa bloben. Mer information finns i Komma igång med Azure Blob Storage med hjälp av .NET - eller Azure Storage Services REST API Reference Möjliga PNS-fel:
  • Ogiltiga PNS-autentiseringsuppgifter
  • PNS kan inte nås
  • BadChannel
  • ExpiredChannel
  • PnsThrottled
  • InvalidToken
  • WrongToken
  • Tappade
  • WrongChannel

Resultat

Name Beskrivning av antal
AbandonedNotificationMessages Antal skicka begäranden till push-tjänsten som togs bort på grund av en timeout.
BadChannel Kommunikationen till push-tjänsten misslyckades eftersom kanalen var ogiltig.
ChannelDisconnected Push-tjänsten är frånkopplad.
ChannelThrottled Push-tjänsten nekades åtkomst på grund av begränsning.
Tappade Push-tjänsten anger att meddelandet togs bort.
ExpiredChannel Kommunikationen till push-tjänsten misslyckades eftersom kanalen har upphört att gälla.
InvalidCredentials Autentiseringsuppgifter som används för att autentisera till push-tjänsten misslyckades.
InvalidNotificationSize Push-begäran är för stor.
NoTargets Antal begäranden som inte hittade något att skicka till.
PnsInterfaceError Push-tjänstens kontraktkommunikation misslyckades.
PnsServerError Push-tjänsten visade att ett fel inträffade på deras sida.
PnsUnavailable Push-tjänsten är inte tillgänglig.
PnsUnreachable Push-tjänsten svarade inte.
Överhoppad Antal duplicerade registreringar (samma PNS-handtag hittades, olika registrerings-ID).
Klart Begäran har skickats till ett antal enheter.
Spjäll Push-tjänsten nekades åtkomst på grund av begränsning.
UnknownError Ett okänt fel inträffade.
WrongToken PNS-handtaget kändes inte igen av PNS som ett giltigt handtag.

Här är ett exempel på telemetri från att skicka ett meddelande till 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>

Se även

Skicka ett mallmeddelande
Skicka ett internt APNS-meddelande
Skicka ett internt GCM-meddelande
Skicka ett inbyggt MPNS-meddelande
Skicka ett internt WNS-meddelande