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:
|
| 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:
|
| 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:
|
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><?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>
Lihat juga
Mengirim pemberitahuan templat
Mengirim pemberitahuan asli APNS
Mengirim pemberitahuan asli GCM
Mengirim pemberitahuan asli MPNS
Mengirim pemberitahuan asli WNS