Bildirim iletisi telemetrisini alma
Bu API, giden anında iletme bildirimlerinin son durumlarıyla ilgili ek telemetri sağlar. Bir hub'dan gönderilen anında iletme bildirimlerini izlemeye yardımcı olmak için tasarlanmıştır. Bu API'nin kullandığı Bildirim Kimliği, bildirimi göndermek için kullanılan REST API'nin yanıtında yer alan HTTP Konumu üst bilgisinden alınabilir.
Bu İleti Başına Telemetri özelliği, zamanlanmış bildirimler için de kullanılabilir.
Bu API yalnızca Standart katman bildirim hub'larında kullanılabilir.
İstek
Yöntem | İstek URI'si | HTTP sürümü |
---|---|---|
GET | https://{namespace}.servicebus.windows.net/{NotificationHub}/messages/{notification message ID}?api-version=2016-07 |
HTTP/1.1 |
İstek üst bilgileri
Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadır.
İstek üst bilgisi | Açıklama |
---|---|
Yetkilendirme | Service Bus ile Paylaşılan Erişim İmzası Kimlik Doğrulaması'nda belirtildiği gibi oluşturulan SAS belirteci. |
x-ms-version | 2016-07 (2015-01 veya üzeri tarafından desteklenir) |
İstek gövdesi
Yok.
Yanıt
Yanıt bir HTTP durum kodu ve bir dizi yanıt üst bilgisi içerir. Yanıt gövdesi başarılı olduğunda döndürülür.
Yanıt kodları
Kod | Description |
---|---|
200 | İleti telemetrisi başarıyla alındı. Telemetri verileri, gönderilen bildirim iletisi tarafından hedeflenen cihaz sayısına ve iletinin sistemimizde işlenmek üzere ne kadar ilerlemiş olduğuna bağlı olarak kısmi bir yanıt olabilir. |
400 | İstek yanlış biçimlendirilmiş olduğundan ileti telemetrisi alınamadı. |
401 | Yetkilendirme hatası. Erişim anahtarı yanlıştı. |
403 | Bu özellik SKU'nuz için etkinleştirilmediğinden istek reddedildi. Standart'a yükseltin. |
404 | Telemetri yok. Bildirim kimliği geçersiz olduğunda bu hata oluşabilir. |
Durum kodları hakkında bilgi için bkz. Durum ve Hata Kodları.
Yanıt üst bilgileri
Yanıt üst bilgisi | Açıklama |
---|---|
İçerik türü | application/xml; charset=utf-8 |
Yanıt gövdesi
Yanıt gövdesi, aşağıdaki öğelerden oluşan bir NotificationDetails belgesidir:
Öğe | Açıklama |
---|---|
NotificationId | bildirim iletisini tanımlayan isteğe geçirilen kimlik. |
Konum | İleti için URI |
Durum | İletinin ilerleme durumunu gösterir. Durum aşağıdaki değerlerden biri olabilir:
|
EnqueueTime | İletinin kabul edildiği saati gösterir. |
StartTime | Bildirim hub'ı hizmetinin bildirim üzerinde çalışmaya ne zaman başladığını gösterir. |
EndTime | Bildirim hub'ı hizmetinin bildirim üzerinde çalışmayı ne zaman tamamladiğini gösterir. |
NotificationBody | Özgün bildirim iletisinin gövdesi. |
TargetPlatforms | Bildirimin hangi platformları hedeflediğini gösterir. Virgülle ayrılmış dize olarak aşağıdaki değerleri içerebilir:
|
ApnsOutcomeCounts | Bu öğe, Apple Anında İletme Bildirimi Hizmeti'ne gönderilen bildirimler için mevcuttur. Bir Sonuç örnekleri koleksiyonu içerir. |
MpnsOutcomeCounts | Bu öğe, Microsoft Anında İletme Bildirimi Hizmeti'ne gönderilen bildirimler için mevcuttur. Bir Sonuç örnekleri koleksiyonu içerir. |
WnsOutcomeCounts | Bu öğe, Windows Bildirim Hizmeti'ne gönderilen bildirimler için mevcuttur. Bir Sonuç örnekleri koleksiyonu içerir. |
GcmOutcomeCounts | Bu öğe, Google Cloud Messaging'e gönderilen bildirimler için mevcuttur. Bir Sonuç örnekleri koleksiyonu içerir. |
AdmOutcomeCounts | Bu öğe, Amazon Device Messaging'e gönderilen bildirimler için mevcuttur. Bir Sonuç örnekleri koleksiyonu içerir. |
Sonuç | Bu örneklerin bir koleksiyonu, her platform bildirim hizmeti için yukarıdaki sayıları oluşturur. Her sonuç, Sonuçlar bölümünde belirtilen adlandırılmış sayılardan biri olabilir. |
PnsErrorDetailsUri | Bu API için kullanılan Api-Version 2016-07 ve üzerini ve bildirim iletisini gönderen API'yi gerektirir. PNS Hata ayrıntıları yalnızca ilişkili gönderme işlemi tamamlandıktan sonra tam olarak kullanılabilir. URI'yi, ilgili her PNS tarafından döndürülen hataları içeren bir bloba alır. PNS tarafından hiçbir hata bildirildiyse, bu üye yanıta dahil değildir. Blobu okumak için Azure Depolama API'sini kullanabilirsiniz. Daha fazla bilgi için bkz. .NET kullanarak Azure Blob depolamayı kullanmaya başlama veya Azure Depolama Hizmetleri REST API Başvurusu Olası PNS hataları şunlardır:
|
Sonuç -ları
Name | Sayı açıklaması |
---|---|
AbandonedNotificationMessages | Zaman aşımı nedeniyle bırakılan gönderme hizmetine gönderme isteklerinin sayısı. |
BadChannel | Kanal geçersiz olduğundan gönderme hizmetiyle iletişim başarısız oldu. |
ChannelDisconnected | Gönderme hizmetinin bağlantısı kesildi. |
ChannelThrottled | Azaltma nedeniyle gönderim hizmetinin erişimi reddedildi. |
Düştü | Gönderme hizmeti iletinin bırakıldığını gösterir. |
Süresi Dolan Kanal | Kanalın süresi dolduğundan gönderim hizmetiyle iletişim başarısız oldu. |
InvalidCredentials | Anında iletme hizmetinde kimlik doğrulaması için kullanılan kimlik bilgileri başarısız oldu. |
InvalidNotificationSize | Anında iletme isteği çok büyük. |
NoTargets | Hiçbir şey göndermeyecek istek sayısı. |
PnsInterfaceError | Anında iletme hizmeti sözleşmesi iletişimi başarısız oldu. |
PnsServerError | Anında iletme hizmeti, kendi tarafında bir hata olduğunu belirtti. |
PnsUnavailable | Anında iletme hizmeti kullanılamıyor. |
PnsUnreachable | Gönderme hizmeti yanıt vermiyordu. |
Atlandı | Yinelenen kayıtların sayısı (aynı PNS tanıtıcısı bulundu, farklı kayıt kimliği). |
Başarılı | İstek birkaç cihaza başarıyla gönderildi. |
Bastırma | Azaltma nedeniyle gönderim hizmetinin erişimi reddedildi. |
UnknownError | Bilinmeyen bir hata oluştu. |
YanlışToken | PNS tanıtıcısı, PNS tarafından geçerli bir tanıtıcı olarak tanınmadı. |
Aşağıda WNS'ye bildirim göndermeye ilişkin örnek bir telemetri verilmiştir:
<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>
Ayrıca Bkz.
Şablon bildirimi gönderme
APNS yerel bildirimi gönderme
GCM yerel bildirimi gönderme
MPNS yerel bildirimi gönderme
WNS yerel bildirimi gönderme