Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konuda, push bildirimi göndermek için gereken hizmet-hizmet web API'leri ve protokolleri açıklanmaktadır.
Anında iletme bildirimleri ve WNS kavramları, gereksinimleri ve işlemleri hakkında kavramsal bir tartışma için Windows Anında İletme Bildirimi Hizmetleri (WNS) genel bakışına bakın.
Erişim belirteci isteme ve alma
Bu bölümde, WNS ile kimlik doğrulaması yaptığınızda dahil olan istek ve yanıt parametreleri açıklanmaktadır.
Erişim belirteci isteği
Bulut hizmetinin kimliğini doğrulamak ve karşılığında bir erişim belirteci almak için WNS'ye bir HTTP isteği gönderilir. İstek, Güvenli Yuva Katmanı (SSL) kullanılarak verilir https://login.live.com/accesstoken.srf .
Erişim belirteci isteği parametreleri
Bulut hizmeti bu gerekli parametreleri HTTP isteği gövdesinde "application/x-www-form-urlencoded" biçimini kullanarak gönderir. Tüm parametrelerin URL ile kodlandığından emin olmanız gerekir.
| Parameter | Required | Description |
|---|---|---|
| grant_type | TRUE |
client_credentialsolarak ayarlanmalıdır. |
| client_id | TRUE | Uygulamanızı Microsoft Store'a kaydettiğinizde atanan bulut hizmetiniz için paket güvenlik tanımlayıcısı (SID). |
| client_secret | TRUE | Uygulamanızı Microsoft Store'a kaydettiğinizde atanan bulut hizmetiniz için gizli anahtar. |
| scope | TRUE | Şu şekilde ayarlanmalıdır: notify.windows.com |
Erişim belirteci yanıtı
WNS, bulut hizmetinin kimliğini doğrular ve başarılı olursa erişim belirteci de dahil olmak üzere "200 Tamam" ile yanıt verir. Aksi takdirde WNS, OAuth 2.0 protokol taslağında açıklandığı gibi uygun bir HTTP hata koduyla yanıt verir.
Erişim belirteci yanıt parametreleri
Bulut hizmetinin kimliği başarıyla doğrulandıysa HTTP yanıtında bir erişim belirteci döndürülür. Bu erişim belirteci süresi dolana kadar bildirim isteklerinde kullanılabilir. HTTP yanıtı "application/json" medya türünü kullanır.
| Parameter | Required | Description |
|---|---|---|
| access_token | TRUE | Bulut hizmetinin bildirim gönderirken kullanacağı erişim belirteci. |
| token_type | FALSE | Her zaman bearerolarak döndürülür. |
Yanıt kodu
| HTTP yanıt kodu | Description |
|---|---|
| 200 Tamam | İstek başarılı oldu. |
| 400 Hatalı İstek | Kimlik doğrulaması başarısız oldu. Yanıt parametreleri için açıklama isteği (RFC) |
Example
Aşağıda başarılı bir kimlik doğrulama yanıtı örneği gösterilmektedir:
HTTP/1.1 200 OK
Cache-Control: no-store
Content-Length: 422
Content-Type: application/json
{
"access_token":"EgAcAQMAAAAALYAAY/c+Huwi3Fv4Ck10UrKNmtxRO6Njk2MgA=",
"token_type":"bearer",
"expires_in": 86400
}
Bildirim isteği gönderme ve yanıt alma
Bu bölümde, WNS'ye bir bildirim göndermek için bir HTTP isteğinde yer alan üst bilgiler ve yanıta dahil olan üst bilgiler açıklanmaktadır.
- Bildirim isteği gönder
- Bildirim yanıtı gönder
- Desteklenmeyen HTTP özellikleri
Bildirim isteği gönder
Bildirim isteği gönderirken, çağıran uygulama SSL üzerinden kanal Tekdüzen Kaynak Tanımlayıcısı'na (URI) yönelik bir HTTP isteğinde bulunur. "content-Length", istekte belirtilmesi gereken standart bir HTTP üst bilgisidir. Diğer tüm standart başlıklar ya isteğe bağlıdır ya da desteklenmez.
Ayrıca, burada listelenen özel istek üst bilgileri bildirim isteğinde kullanılabilir. Bazı üst bilgiler gerekirken, bazıları isteğe bağlıdır.
İstek parametreleri
| Başlık adı | Required | Description |
|---|---|---|
| Authorization | TRUE | Bildirim isteğinizin kimliğini doğrulamak için kullanılan standart HTTP yetkilendirme üst bilgisi. Bulut hizmetiniz erişim belirtecini bu üst bilgide sağlar. |
| Content-Type | TRUE | Standart HTTP yetkilendirme üst bilgisi. Tost, kutucuk ve rozet bildirimleri için bu üst bilgi text/xmlolarak ayarlanmalıdır. Ham bildirimler için bu üst bilgi olarak application/octet-streamayarlanmalıdır. |
| Content-Length | TRUE | İstek yükünün boyutunu belirtmek için standart HTTP yetkilendirme üst bilgisi. |
| X-WNS-Type | TRUE | Yükteki bildirim türünü tanımlar: kutucuk, toast, rozet veya ham. |
| X-WNS-Cache-Policy | FALSE | Bildirim önbelleğe almayı etkinleştirir veya devre dışı bırakır. Bu üst bilgi yalnızca kutucuk, rozet ve ham bildirimler için geçerlidir. |
| X-WNS-RequestForStatus | FALSE | Bildirim yanıtında cihaz durumunu ve WNS bağlantı durumunu iste. |
| X-WNS-Tag | FALSE | Bildirim kuyruğunu destekleyen kutucuklar için tanımlayıcı bir etiket ile bildirim sağlamak amacıyla kullanılan dize. Bu üst bilgi yalnızca kutucuk bildirimleri için geçerlidir. |
| X-WNS-TTL | FALSE | Yaşam süresini (TTL) belirten saniye cinsinden ifade edilen tamsayı değeri. |
| MS-CV | FALSE | İsteğiniz için Bağıntı Vektörü , değeri kullanıldı. |
Önemli notlar
- İçerik Uzunluğu ve İçerik Türü, isteğe diğer standart üst bilgilerin eklenip eklenmediğine bakılmaksızın istemciye teslim edilen bildirime eklenen tek standart HTTP üst bilgileridir.
- İşlev desteklenmiyorsa diğer tüm standart HTTP üst bilgileri yoksayılır veya hata döndürür.
- 2023 Şubat ayından itibaren, WNS cihaz çevrimdışı olduğunda yalnızca bir kutucuk bildirimini önbelleğe alacak.
Authorization
OAuth 2.0 yetkilendirme yöntemini izleyerek, yetkilendirme üst bilgisi, taşıyıcı belirteçleri için çağrı yapan tarafın kimlik bilgilerini belirtmek amacıyla kullanılır.
Sözdizimi, "Taşıyıcı" dize sabiti, bir boşluk karakteri ve ardından erişim belirtecinizden oluşur. Bu erişim belirteci, yukarıda açıklanan erişim belirteci isteği vererek alınır. Aynı erişim belirteci, süresi dolana kadar sonraki bildirim isteklerinde kullanılabilir.
Bu üst bilgi gereklidir.
Authorization: Bearer <access-token>
X-WNS-Type
Bunlar WNS tarafından desteklenen bildirim türleridir. Bu üst bilgi bildirim türünü ve WNS'nin bunu nasıl işlemesi gerektiğini gösterir. Bildirim istemciye ulaştıktan sonra, gerçek yük bu belirtilen türe göre doğrulanır. Bu üst bilgi gereklidir.
X-WNS-Type: wns/toast | wns/badge | wns/tile | wns/raw
| Value | Description |
|---|---|
| wns/badge | Kutucukta rozet katmanı oluşturmaya yönelik bir bildirim. Bildirim isteğine dahil edilen İçerik Türü üst bilgisi olarak text/xmlayarlanmalıdır. |
| wns/tile | Kutucuk içeriğini güncelleştirmek için bir bildirim. Bildirim isteğine dahil edilen İçerik Türü üst bilgisi olarak text/xmlayarlanmalıdır. |
| wns/toast | İstemcide kutlama yapmak için bir bildirim. Bildirim isteğine dahil edilen İçerik Türü üst bilgisi olarak text/xmlayarlanmalıdır. |
| wns/raw | Özel yük içerebilen ve doğrudan uygulamaya teslim edilen bir bildirim. Bildirim isteğine dahil edilen İçerik Türü üst bilgisi olarak application/octet-streamayarlanmalıdır. |
X-WNS-Cache-Policy
Bildirim hedef cihazı çevrimdışı olduğunda, WNS her kanal URI'si için bir rozet, bir kutucuk ve bir uçar bildirim önbelleğe alır. Varsayılan olarak, ham bildirimler önbelleğe alınmaz, ancak ham bildirim önbelleğe alma etkinleştirilirse bir ham bildirim önbelleğe alınır. Öğeler önbellekte süresiz olarak tutulmaz ve makul bir süre sonra bırakılır. Aksi takdirde, önbelleğe alınan içerik cihaz bir sonraki çevrimiçi olduğunda teslim edilir.
X-WNS-Cache-Policy: cache | no-cache
| Value | Description |
|---|---|
| cache | Default. Kullanıcı çevrimdışıysa bildirimler önbelleğe alınır. Bu, kutucuk ve rozet bildirimleri için varsayılan ayardır. |
| no-cache | Kullanıcı çevrimdışıysa bildirim önbelleğe alınmaz. Bu, ham bildirimler için varsayılan ayardır. |
X-WNS-RequestForStatus
Yanıtın cihaz durumunu ve WNS bağlantı durumunu içermesi gerekip gerekmediğini belirtir. Bu üst bilgi isteğe bağlıdır.
X-WNS-RequestForStatus: true | false
| Value | Description |
|---|---|
| true | Yanıt olarak cihaz durumunu ve bildirim durumunu döndür. |
| false | Default. Cihaz durumunu ve bildirim durumunu döndürmeyin. |
X-WNS-Tag
Bildirime bir etiketi atar. Etiket, uygulamanın bildirim döngüsü sistemini seçtiği durumda bildirim kuyruğundaki kutucuğu değiştirme politikasında kullanılır. Kuyrukta bu etikete sahip bir bildirim zaten varsa, aynı etikete sahip yeni bir bildirim onun yerini alır.
Note
Bu üst bilgi isteğe bağlıdır ve yalnızca kutucuk bildirimleri gönderirken kullanılır.
X-WNS-Tag: <string value>
| Value | Description |
|---|---|
| dize değeri | En fazla 16 karakterden oluşan alfasayısal dize. |
X-WNS-TTL
Bildirim için TTL'yi (süre sonu) belirtir. Bu genellikle gerekli değildir, ancak bildirimlerinizin belirli bir süreden sonra görüntülenmediğinden emin olmak istiyorsanız kullanılabilir. TTL saniye cinsinden belirtilir ve WNS'nin isteği aldığı zamana göre belirlenir. Bir TTL belirtildiğinde, cihaz bu süreden sonra bildirimi görüntülemez. Bunun, TTL çok kısa olduğunda bildirimin hiçbir şekilde gösterilmeyebileceğine dikkat edin. Genel olarak, son kullanma süresi en az dakika cinsinden ölçülür.
Bu üst bilgi isteğe bağlıdır. Herhangi bir değer belirtilmezse bildirimin süresi dolmaz ve normal bildirim değiştirme düzeni altında değiştirilir.
X-WNS-TTL: <integer value>
| Value | Description |
|---|---|
| tamsayı değeri | WNS isteği aldıktan sonra bildirimin geçerlilik süresi, saniye cinsinden. |
X-WNS-SuppressPopup
Note
Windows Phone Mağazası uygulamaları için, bir toast bildiriminin kullanıcı arabirimini gizlemek veya bildirimi doğrudan işlem merkezine göndermek seçeneğiniz vardır. Bu, bildiriminizin sessizce teslim edilerek daha az acil bildirimler için potansiyel olarak üstün bir seçenek olmasını sağlar. Bu üst bilgi isteğe bağlıdır ve yalnızca Windows Phone kanallarında kullanılır. Bu üst bilgiyi bir Windows kanalına eklerseniz bildiriminiz bırakılır ve WNS'den bir hata yanıtı alırsınız.
X-WNS-SuppressPopup: doğru | yanlış
| Value | Description |
|---|---|
| true | Bildirim bildirimini doğrudan işlem merkezine gönderin; bildirim kullanıcı arabirimini yükseltmeyin. |
| false | Default. Bildirim kullanıcı arabirimini yükseltin ve bildirimi işlem merkezine ekleyin. |
X-WNS-Group
Note
Windows Phone Mağazası uygulamaları için bildirim merkezi, aynı etikete sahip birden çok bildirim iletisini ancak farklı gruplara ait olarak etiketlendiklerinde görüntüleyebilir. Örneğin, bir tarif kitabı uygulaması düşünün. Her tarif bir etiketle tanımlanır. Bu tarifle ilgili bir yorumu içeren bir bildirimde tarifin etiketi olur, ancak bir yorum grubu etiketi kullanılır. Bu tarif için bir derecelendirme içeren bir bildirimde yine tarifin etiketi bulunur ama ayrıca bir derecelendirme grup etiketi de bulunur. Bu farklı grup etiketleri, işlem merkezinde her iki bildirimin de aynı anda gösterilmesini sağlar. Bu üst bilgi isteğe bağlıdır.
X-WNS-Group: <string value>
| Value | Description |
|---|---|
| dize değeri | En fazla 16 karakterden oluşan alfasayısal dize. |
X-WNS-Match
Note
Windows Phone Mağazası uygulamaları için işlem merkezinden belirli bir bildirimi, bir dizi bildirimi (etiket veya grup tarafından) veya tüm bildirimleri kaldırmak için HTTP DELETE yöntemiyle birlikte kullanılır. Bu üst bilgi bir grup, etiket veya her ikisini de belirtebilir. Bu üst bilgi bir HTTP DELETE bildirim isteğinde gereklidir. Bu bildirim isteğine dahil edilen tüm yükler yoksayılır.
Türü:wns/toast; grup=<string value>; etiket=<string value> | türü:wns/toast; grup=<string value> | türü:wns/toast; etiket=<string value> | türü:wns/toast; tümü
| Value | Description |
|---|---|
type:wns/toast; group=<string value>; tag=<string value> |
Hem belirtilen etiket hem de grupla etiketlenmiş tek bir bildirimi kaldırın. |
type:wns/toast; group=<string value> |
Belirtilen grupla etiketlenmiş tüm bildirimleri kaldırın. |
type:wns/toast; tag=<string value> |
Belirtilen etiketle etiketlenmiş tüm bildirimleri kaldırın. |
| type:wns/toast;all | İşlem merkezinden uygulamanızın tüm bildirimlerini temizleyin. |
Bildirim yanıtı gönder
WNS bildirim isteğini işledikten sonra yanıt olarak bir HTTP iletisi gönderir. Bu bölümde, bu yanıtta bulunabilecek parametreler ve üst bilgiler ele alınmaktadır.
Yanıt parametreleri
| Başlık adı | Required | Description |
|---|---|---|
| X-WNS-Debug-Trace | FALSE | Bir sorunu bildirirken karşılaşılan sorunları gidermeye yardımcı olmak için günlüğe kaydedilmesi gereken hata ayıklama bilgileri. |
| X-WNS-DeviceConnectionStatus | FALSE | Cihaz durumu, yalnızca bildirim isteğinde X-WNS-RequestForStatus başlığı aracılığıyla talep edildiğinde döndürülür. |
| X-WNS-Error-Description | FALSE | Hata ayıklamaya yardımcı olması için günlüğe kaydedilmesi gereken, okunabilir bir hata dizesi. |
| X-WNS-Msg-ID | FALSE | Hata ayıklama amacıyla kullanılan, bildirim için benzersiz bir tanımlayıcı. Sorun bildirilirken, sorun gidermeye yardımcı olması için bu bilgilerin günlüğe kaydedilmesi gerekir. |
| X-WNS-Status | FALSE | WNS'nin bildirimi başarıyla alıp almadığını ve işleyip işlemediğini gösterir. Sorun bildirilirken, sorun gidermeye yardımcı olması için bu bilgilerin günlüğe kaydedilmesi gerekir. |
| MS-CV | FALSE | Bir sorunu bildirirken karşılaşılan sorunları gidermeye yardımcı olmak için günlüğe kaydedilmesi gereken hata ayıklama bilgileri. |
X-WNS-Debug-Trace
Bu üst bilgi, yararlı hata ayıklama bilgilerini dize olarak döndürür. Geliştiricilerin sorunlarda hata ayıklamasına yardımcı olmak için bu başlığın günlüğe kaydedilmesini öneririz. Bu üst bilgi, WNS'ye bir sorun bildirilirken X-WNS-Msg-ID üst bilgisi ve MS-CV ile birlikte gereklidir.
X-WNS-Debug-Trace: <string value>
| Value | Description |
|---|---|
| dize değeri | Alfasayısal dize. |
X-WNS-DeviceConnectionStatus
Bu üst bilgi, bildirim isteğinin X-WNS-RequestForStatus üst bilgisinde talep edilirse, cihaz durumunu istekte bulunan uygulamaya döndürür.
X-WNS-DeviceConnectionStatus: bağlı | bağlantısı kesildi | geçici olarak bağlantısı kesildi
| Value | Description |
|---|---|
| connected | Cihaz çevrimiçi ve WNS'ye bağlı. |
| disconnected | Cihaz çevrimdışı ve WNS'ye bağlı değil. |
| tempconnected (kullanım dışı) | Cihaz, örneğin bir 3G bağlantısı kesildiğinde veya dizüstü bilgisayarda kablosuz anahtarı kapatıldığında, WNS bağlantısını geçici olarak kaybetti. Bildirim İstemci Platformu tarafından kasıtlı bir bağlantı kesilmesi yerine geçici bir kesinti olarak görülür. |
X-WNS-Error-Description
Bu başlık, insan tarafından okunabilir bir hata dizesi sağlayarak, hata ayıklamaya yardımcı olması için günlüğe kaydedilmelidir.
X-WNS-Error-Description: <string value>
| Value | Description |
|---|---|
| dize değeri | Alfasayısal dize. |
X-WNS-Msg-ID
Çağırana bildirim için bir tanımlayıcı sağlamak amacıyla bu üst bilgi kullanılır. Sorunlarda hata ayıklamaya yardımcı olması için bu üst bilginin günlüğe kaydedilmesini önerdik. WNS'ye bir sorun bildirirken, bu başlık X-WNS-Debug-Trace ve MS-CV ile birlikte gereklidir.
X-WNS-Msg-ID: <string value>
| Value | Description |
|---|---|
| dize değeri | En fazla 16 karakterden oluşan alfasayısal dize. |
X-WNS-Status
Bu üst bilgi, WNS'nin bildirim isteğini nasıl işlediğini açıklar. Bu, yanıt kodlarını başarılı veya başarısız olarak yorumlamak yerine kullanılabilir.
X-WNS-Status: alındı | düşürüldü | kanal kısıtlamalı
| Value | Description |
|---|---|
| received | Bildirim WNS tarafından alındı ve işlendi. Not: Bu, cihazın bildirimi aldığını garanti etmez. |
| dropped | Bir hata nedeniyle veya istemci bu bildirimleri açıkça reddettiği için bildirim açıkça bırakıldı. Cihaz çevrimdışıysa, toast bildirimleri de gönderilmez. |
| channelthrottled | Uygulama sunucusu bu belirli kanalın hız sınırını aştığından bildirim bırakıldı. |
MS-CV
Bu üst bilgi, öncelikli olarak hata ayıklama için kullanılan istekle ilgili bir Korelasyon Vektörü sağlar. İsteğin bir parçası olarak bir CV sağlanırsa WNS bu değeri kullanır, aksi takdirde WNS bir CV oluşturup yanıt verir. Bu üst bilgi, WNS'ye bir sorun bildirilirken X-WNS-Debug-Trace ve X-WNS-Msg-ID üst bilgisi ile birlikte gereklidir.
Important
Kendi CV'nizi sağlıyorsanız, lütfen her anlık bildirim isteği için yeni bir CV oluşturun.
MS-CV: <string value>
| Value | Description |
|---|---|
| dize değeri | Bağıntı Vektörü standardı |
Yanıt kodları
Her HTTP iletisi bu yanıt kodlarından birini içerir. WNS, geliştiricilerin hata ayıklamada kullanmak üzere yanıt kodunu günlüğe kaydetmesini önerir. Geliştiriciler WNS'ye bir sorun bildirdiğinde yanıt kodları ve üst bilgi bilgileri sağlamaları gerekir.
| HTTP yanıt kodu | Description | Önerilen eylem |
|---|---|---|
| 200 Tamam | Bildirim WNS tarafından kabul edildi. | Gerekli değil. |
| 400 Hatalı İstek | Bir veya daha fazla üst bilgi yanlış belirtildi veya başka bir üst bilgiyle çakışıyor. | İsteğinizin ayrıntılarını günlüğe kaydedin. İsteğinizi inceleyin ve bu belgelerle karşılaştırın. |
| 401 Yetkisiz | Bulut hizmeti geçerli bir kimlik doğrulama bileti sunmadı. OAuth bileti geçersiz olabilir. | Erişim belirteci isteğini kullanarak bulut hizmetinizin kimliğini doğrulayarak geçerli bir erişim belirteci isteyin. |
| 403 Yasak | Bulut hizmetinin kimliği doğrulanmış olsa bile bu URI'ye bildirim gönderme yetkisi yok. | İstekte sağlanan erişim belirteci, kanal URI'sini isteyen uygulamanın kimlik bilgileriyle eşleşmiyor. Uygulamanızın bildirimindeki paket adınızın Pano'da uygulamanıza verilen bulut hizmeti kimlik bilgileriyle eşleştiğinden emin olun. |
| 404 Bulunamadı | Kanal URI'si geçerli değil veya WNS tarafından tanınmıyor. | İsteğinizin ayrıntılarını günlüğe kaydedin. Bu kanala daha fazla bildirim göndermeyin; bu adrese yapılan bildirimler başarısız olur. |
| 405 Yöntemine İzin Verilmiyor | Geçersiz yöntem (GET, CREATE); yalnızca POST (Windows veya Windows Phone) veya DELETE (yalnızca Windows Phone) seçeneğine izin verilir. | İsteğinizin ayrıntılarını günlüğe kaydedin. HTTP POST kullanmaya geçin. |
| 406 Kabul Edilemez | Bulut hizmeti kendi hız sınırlamasını aştı. | Lütfen yanıttaki Retry-After üst bilgi değerinden sonra isteğinizi gönderin |
| 410 Gitti | Kanalın süresi doldu. | İsteğinizin ayrıntılarını günlüğe kaydedin. Bu kanala daha fazla bildirim göndermeyin. Uygulamanızın yeni bir kanal URI'sini istemesini sağlayın. |
| 410 Etki Alanı Engellendi | Gönderen etki alanı WNS tarafından engellendi. | Bu kanala daha fazla bildirim göndermeyin. Gönderen etki alanı, anlık bildirimleri kötüye kullandığı için WNS tarafından engellendi. |
| 413 İstek Birimi Çok Büyük | Bildirim yükü 5000 bayt boyut sınırını aşıyor. | İsteğinizin ayrıntılarını günlüğe kaydedin. Boyut sınırlamaları dahilinde olduğundan emin olmak için yükü inceleyin. |
| 500 İç Sunucu Hatası | bir iç hata, bildirim teslimin başarısız olmasına neden oldu. | İsteğinizin ayrıntılarını günlüğe kaydedin. Bu sorunu geliştirici forumları aracılığıyla bildirin. |
| 503 Hizmet Kullanılamıyor | Sunucu şu anda kullanılamıyor. | İsteğinizin ayrıntılarını günlüğe kaydedin. Bu sorunu geliştirici forumları aracılığıyla bildirin. Retry-After üst bilgisi gözlemleniyorsa lütfen yanıttaki Retry-After üst bilgi değerinden sonra isteğinizi gönderin. |
Desteklenmeyen HTTP özellikleri
WNS Web Arabirimi HTTP 1.1'i destekler ancak aşağıdaki özellikleri desteklemez:
- Chunking
- Pipelining (POST idempotent değildir)
- Destekleniyor olsa da geliştiriciler, bildirim gönderirken gecikme süresine neden olduğundan Expect-100'i devre dışı bırakmalıdır.
Windows developer