Udostępnij za pośrednictwem


Uzyskiwanie danych telemetrycznych komunikatów powiadomień

Ten interfejs API udostępnia dodatkowe dane telemetryczne w gotowych stanach wychodzących powiadomień wypychanych. Jest ona przeznaczona do monitorowania powiadomień wypychanych wysyłanych z centrum. Identyfikator powiadomienia, którego używa ten interfejs API, można pobrać z nagłówka LOKALIZACJI HTTP uwzględnionego w odpowiedzi interfejsu API REST używanego do wysyłania powiadomienia.

Ta funkcja telemetrii poszczególnych wiadomości jest również dostępna dla zaplanowanych powiadomień.

Ten interfejs API jest dostępny tylko dla centrów powiadomień w warstwie Standardowa.

Żądanie

Metoda Identyfikator URI żądania Wersja PROTOKOŁU HTTP
GET https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 HTTP/1.1

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań.

Nagłówek żądania Opis
Autoryzacja Token SAS wygenerowany zgodnie z określoną w artykule Uwierzytelnianie za pomocą sygnatury dostępu współdzielonego za pomocą usługi Service Bus.
x-ms-version 2016-07 (Obsługiwane przez 2015-01 lub nowszy)

Treść żądania

Brak.

Reakcja

Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi. Treść odpowiedzi jest zwracana po pomyślnym zakończeniu.

Kody odpowiedzi

Kod Opis
200 Telemetria komunikatu została pomyślnie pobrana. Dane telemetryczne mogą być częściową odpowiedzią, w zależności od liczby urządzeń objętych wysłanym komunikatem powiadomienia oraz tego, jak daleko komunikat postępuje w naszym systemie w celu przetworzenia.
400 Nie można pobrać telemetrii komunikatu, ponieważ żądanie zostało źle sformułowane.
401 Niepowodzenie autoryzacji. Klucz dostępu był niepoprawny.
403 Żądanie zostało odrzucone, ponieważ ta funkcja nie jest włączona dla jednostki SKU. Uaktualnij do warstwy Standardowa.
404 Telemetria nie istnieje. Ten błąd może wystąpić, gdy identyfikator powiadomienia jest nieprawidłowy.

Aby uzyskać informacje o kodach stanu, zobacz Status and Error Codes (Kody stanu i błędów).

Nagłówki odpowiedzi

Nagłówek odpowiedzi Opis
Typ zawartości application/xml; charset=utf-8

Treść odpowiedzi

Treść odpowiedzi to dokument NotificationDetails składający się z następujących elementów:

Element Opis
Identyfikator powiadomienia Identyfikator przekazany do żądania, które identyfikuje komunikat powiadomienia.
Lokalizacja Identyfikator URI komunikatu
Stan Wskazuje postęp komunikatu. Stan może być jedną z następujących wartości:
  • Porzucone: przetwarzanie komunikatów zostało porzucone. Dzieje się tak, gdy nie można przetworzyć komunikatu w akceptowalnym przedziale czasu. Domyślnie jest to 30 minut.
  • Anulowano: użytkownik anulował tę zaplanowaną wiadomość.
  • Ukończono: Przetwarzanie komunikatów zostało ukończone.
  • W kolejce: Komunikat został zaakceptowany, ale przetwarzanie nie zostało jeszcze rozpoczęte.
  • NoTargetFound: nie znaleziono urządzeń do wysłania tej wiadomości.
  • Przetwarzanie: rozpoczęto przetwarzanie komunikatów.
  • Zaplanowane: komunikat jest w kolejce i jest wysyłany w zaplanowanym czasie.
  • Nieznany: przetwarzanie komunikatów jest w nieznanym stanie.
EnqueueTime Wskazuje czas zaakceptowania wiadomości.
StartTime Wskazuje, kiedy usługa centrum powiadomień rozpoczęła pracę nad powiadomieniem.
EndTime Wskazuje, kiedy usługa centrum powiadomień zakończyła pracę nad powiadomieniem.
Powiadomienie— osoba Treść oryginalnej wiadomości z powiadomieniem.
TargetPlatforms Wskazuje platformy docelowe powiadomień. Może zawierać następujące wartości jako ciąg rozdzielany przecinkami:
  • windows
  • apple
  • gcm
  • windowsphone
  • adm
  • baidu
  • template
  • windowstemplate
  • appletemplate
  • gcmtemplate
  • windowsphonetemplate
  • admtemplate
  • baidutemplate
ApnsOutcomeCounts Ten element jest obecny w przypadku powiadomień wysyłanych do usługi Apple Push Notification Service. Zawiera kolekcję wystąpień wyniku.
MpnsOutcomeCounts Ten element jest obecny w przypadku powiadomień wysyłanych do usługi powiadomień wypychanych firmy Microsoft. Zawiera kolekcję wystąpień wyniku.
WnsOutcomeCounts Ten element jest obecny dla powiadomień wysyłanych do usługi powiadomień systemu Windows. Zawiera kolekcję wystąpień wyniku.
GcmOutcomeCounts Ten element jest obecny w przypadku powiadomień wysyłanych do usługi Google Cloud Messaging. Zawiera kolekcję wystąpień wyniku.
AdmOutcomeCounts Ten element jest obecny dla powiadomień wysyłanych do usługi Amazon Device Messaging. Zawiera kolekcję wystąpień wyniku.
Wynik Kolekcja tych wystąpień składa się z powyższych liczb dla każdej usługi powiadomień platformy. Każdy wynik może być jednym z nazwanych liczb wymienionych w sekcji Wyniki .
PnsErrorDetailsUri Wymaga Api-Version 2016-07 i nowszych używanych dla tego interfejsu API oraz interfejsu API wysyłającego komunikat powiadomienia.

Szczegóły błędu usługi PNS są w pełni dostępne tylko po zakończeniu skojarzonej operacji wysyłania.

Pobiera identyfikator URI do obiektu blob zawierającego błędy zwracane przez każdy zaangażowany system pnS. Jeśli nie zgłoszono żadnych błędów przez usługę PNS, ten element członkowski nie jest uwzględniony w odpowiedzi. Aby odczytać obiekt blob, możesz użyć interfejsu API usługi Azure Storage. Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z usługą Azure Blob Storage przy użyciu platformy .NET lub interfejsu API REST usług Azure Storage — dokumentacja możliwych błędów pnS:
  • Nieprawidłowe poświadczenia usługi PNS
  • Usługa PNS nie jest osiągalna
  • BadChannel
  • Wygasłychannel
  • PnsThrottled
  • InvalidToken
  • Niewłaściwy token
  • Spadła
  • WrongChannel

Wyniki

Nazwa Opis liczby
PorzuconenotificationMessages Liczba żądań wysyłania do usługi wypychania, która została porzucona z powodu przekroczenia limitu czasu.
BadChannel Komunikacja z usługą wypychania nie powiodła się, ponieważ kanał był nieprawidłowy.
ChannelDisconnected Odłączona usługa wypychana.
ChannelThrottled Odmowa dostępu do usługi wypychania z powodu ograniczania przepustowości.
Spadła Usługa wypychania wskazuje, że komunikat został porzucony.
Wygasłychannel Komunikacja z usługą wypychania nie powiodła się, ponieważ kanał wygasł.
InvalidCredentials Poświadczenia używane do uwierzytelniania w usłudze wypychania nie powiodły się.
InvalidNotificationSize Żądanie wypychania jest zbyt duże.
NoTargets Liczba żądań, które nie znalazły nic do wysłania.
PnsInterfaceError Komunikacja kontraktu usługi wypychania nie powiodła się.
PnsServerError Usługa wypychania wskazała, że po stronie wystąpił błąd.
PnsUnavailable Usługa wypychania jest niedostępna.
PnsUnreachable Usługa wypychania nie odpowiada.
Pominięto Liczba zduplikowanych rejestracji (znaleziono ten sam uchwyt pnS, inny identyfikator rejestracji).
Powodzenie Pomyślnie wysłano żądanie do pewnej liczby urządzeń.
Ograniczona Odmowa dostępu do usługi wypychania z powodu ograniczania przepustowości.
UnknownError Wystąpił nieznany błąd.
Niewłaściwy token Uchwyt pnS nie został rozpoznany przez usługę PNS jako prawidłowy uchwyt.

Oto przykładowa telemetria wysyłania powiadomienia do usługi 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>

Zobacz też

Wysyłanie powiadomienia o szablonie
Wysyłanie powiadomienia natywnego usługi APNS
Wysyłanie powiadomienia natywnego usługi GCM
Wysyłanie powiadomienia natywnego usługi MPNS
Wysyłanie powiadomienia natywnego usługi WNS