Mendapatkan telemetri pesan pemberitahuan

API ini menyediakan telemetri tambahan pada status selesai pemberitahuan push keluar. Ini dirancang untuk membantu memantau pemberitahuan push yang dikirim dari hub. ID Pemberitahuan yang digunakan API ini dapat diambil dari header Lokasi HTTP yang disertakan dalam respons REST API yang digunakan untuk mengirim pemberitahuan.

Fitur Telemetri Per Pesan ini juga tersedia untuk pemberitahuan terjadwal.

API ini hanya tersedia untuk hub pemberitahuan tingkat Standar.

Minta

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

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Header permintaan Deskripsi
Authorization Token yang dihasilkan sebagaimana ditentukan dalam Autentikasi Tanda Tangan Akses Bersama dengan Bus Layanan, atau autentikasi dan otorisasi Bus Layanan dengan Microsoft Azure Active Directory Access Control (juga dikenal sebagai Access Control Layanan atau ACS).
x-ms-version 2016-07 (Didukung oleh 2015-01 atau yang lebih baru)

Isi permintaan

Tidak ada.

Respons

Respons mencakup kode status HTTP dan sekumpulan header respons. Isi respons dikembalikan pada keberhasilan.

Kode respons

Kode Deskripsi
200 Telemetri pesan berhasil diambil. Data telemetri mungkin merupakan respons parsial, tergantung pada jumlah perangkat yang ditargetkan oleh pesan pemberitahuan yang dikirim.
400 Telemetri pesan tidak dapat diambil karena permintaan salah format.
401 Kegagalan otorisasi. Kunci akses salah.
403 Permintaan ditolak karena fitur ini tidak diaktifkan untuk SKU Anda. Tingkatkan ke Standar.
404 Telemetri tidak ada. Ini mungkin karena ID pemberitahuan tidak valid atau karena pesan belum cukup jauh dalam pemrosesan. Jika Anda menerima kode 404, tunggu dan coba lagi setelah 10 detik. Status ini dapat berlanjut hingga 30 menit.

Untuk informasi tentang kode status, lihat Status dan Kode Kesalahan.

Header respons

Header respons Deskripsi
Jenis konten application/xml; charset=utf-8

Isi Respons

Isi respons akan menjadi dokumen NotificationDetails yang terdiri dari elemen-elemen berikut.

Elemen Deskripsi
NotificationId ID diteruskan ke permintaan yang mengidentifikasi pesan pemberitahuan.
Lokasi URI untuk pesan
Provinsi Menunjukkan kemajuan pesan. Status mungkin salah satu nilai berikut:
  • Ditinggalkan: Pemrosesan pesan telah ditinggalkan. Ini akan terjadi ketika pesan tidak dapat diproses dalam jendela waktu yang dapat diterima. Secara default, ini adalah 30 menit.
  • Dibatalkan: Pesan terjadwal ini dibatalkan oleh pengguna.
  • Selesai: Pemrosesan pesan telah selesai.
  • Diantrekan: Pesan telah diterima tetapi pemrosesan belum dimulai.
  • NoTargetFound: Tidak ada perangkat yang ditemukan untuk mengirim pesan ini.
  • Pemrosesan: Pemrosesan pesan telah dimulai.
  • Terjadwal: Pesan dalam antrean dan akan dikirim pada waktu yang dijadwalkan.
  • Tidak diketahui: Pemrosesan pesan dalam status tidak diketahui.
EnqueueTime Menunjukkan waktu pesan diterima.
Waktu mulai Menunjukkan kapan layanan hub pemberitahuan mulai berfungsi pada pemberitahuan.
Akhir waktu Menunjukkan kapan layanan hub pemberitahuan selesai berfungsi pada pemberitahuan.
NotificationBody Isi pesan pemberitahuan asli.
TargetPlatforms Menunjukkan platform mana yang ditargetkan oleh pemberitahuan. Mungkin berisi nilai berikut sebagai string yang dibatasi koma:
  • windows
  • apple
  • gcm
  • windowsphone
  • adm
  • baidu
  • template
  • windowstemplate
  • appletemplate
  • gcmtemplate
  • windowsphonetemplate
  • admtemplate
  • baidutemplate
ApnsOutcomeCounts Elemen ini akan hadir untuk pemberitahuan yang dikirim ke Apple Push Notification Service. Berisi kumpulan instans Hasil.
MpnsOutcomeCounts Elemen ini akan hadir untuk pemberitahuan yang dikirim ke Microsoft Push Notification Service. Berisi kumpulan instans Hasil.
WnsOutcomeCounts Elemen ini akan hadir untuk pemberitahuan yang dikirim ke Windows Notification Service. Berisi kumpulan instans Hasil.
GcmOutcomeCounts Elemen ini akan hadir untuk pemberitahuan yang dikirim ke Google Cloud Messaging. Berisi kumpulan instans Hasil.
AdmOutcomeCounts Elemen ini akan hadir untuk pemberitahuan yang dikirim ke Amazon Device Messaging. Berisi kumpulan instans Hasil.
Hasil Kumpulan instans ini membentuk hitungan di atas untuk setiap layanan pemberitahuan platform. Setiap hasil dapat menjadi salah satu hitungan bernama yang disebutkan di bagian Hasil .
PnsErrorDetailsUri Memerlukan Api-Version 2016-07 ke atas yang digunakan untuk API ini dan API mengirim pesan pemberitahuan.

Detail Kesalahan PNS hanya tersedia sepenuhnya setelah operasi pengiriman terkait selesai.

Mendapatkan URI ke blob yang berisi kesalahan yang dikembalikan oleh setiap PNS yang terlibat. Jika tidak ada kesalahan yang dilaporkan oleh PNS, anggota ini tidak akan disertakan dalam respons. Anda dapat menggunakan API Azure Storage untuk membaca blob. Untuk informasi selengkapnya, lihat Mulai menggunakan penyimpanan Azure Blob menggunakan .NET atau Azure Storage Services REST API Reference Kemungkinan kesalahan PNS meliputi:
  • Kredensial PNS Tidak Valid
  • PNS Tidak Dapat Dijangkau
  • BadChannel
  • ExpiredChannel
  • PnsThrottled
  • InvalidToken
  • WrongToken
  • Menghilangkan
  • WrongChannel

Hasil

Nama Deskripsi hitungan
AbandonedNotificationMessages Jumlah permintaan pengiriman untuk mendorong layanan yang dihilangkan karena waktu habis.
BadChannel Komunikasi ke layanan pendorongan gagal karena saluran tidak valid.
ChannelDisconnected Layanan pendorongan terputus.
ChannelThrottled Layanan pendorongan menolak akses karena pembatasan.
Menghilangkan Layanan pendorongan menunjukkan bahwa pesan dihilangkan.
ExpiredChannel Komunikasi ke layanan pendorongan gagal karena saluran kedaluwarsa.
InvalidCredentials Kredensial yang digunakan untuk mengautentikasi ke layanan pendorongan gagal.
InvalidNotificationSize Permintaan push terlalu besar.
NoTargets Jumlah permintaan yang tidak menemukan apa pun untuk dikirim.
PnsInterfaceError Komunikasi kontrak layanan push gagal.
PnsServerError Layanan pendorongan menunjukkan bahwa kesalahan terjadi di sisi mereka.
PnsUnavailable Layanan pendorongan tidak tersedia.
PnsUnreachable Layanan pendorongan tidak responsif.
Dilewati Jumlah pendaftaran duplikat (handel PNS yang sama ditemukan, ID pendaftaran yang berbeda).
Berhasil Berhasil mengirim permintaan ke beberapa perangkat.
Dibatasi Layanan pendorongan menolak akses karena pembatasan.
UnknownError Terjadi kesalahan yang tidak diketahui.
WrongToken Handel PNS tidak diakui oleh PNS sebagai handel yang valid.

Berikut adalah contoh telemetri dari mengirim pemberitahuan ke 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>

Lihat juga

Mengirim pemberitahuan templat
Mengirim pemberitahuan asli APNS
Mengirim pemberitahuan asli GCM
Mengirim pemberitahuan asli MPNS
Mengirim pemberitahuan asli WNS