WNS anında iletme bildirimleriyle ilgili sorunları giderme

Bu konu başlığı altında, yerel, anında iletme, düzenli ve zamanlanmış bildirimler gibi çeşitli bildirim yöntemleri de dahil olmak üzere kutucuk, bildirim ve rozet bildirimleriyle ilgili sorunlarla karşılaştığınızda izlemeniz gereken ilk sorun giderme adımları açıklanmaktadır.

Belirli hataları giderme

Bu bölüm, anında iletme bildirimleriyle çalışırken karşılaşabileceğiniz bazı yaygın hataları giderir.

  • Olay günlüklerinizi denetleme
  • Anında iletme bildirimi "200 Tamam" yanıtı alır ancak görüntülenmez
  • Anında iletme bildirimi "200 Tamam" dışında bir kod döndürür
  • Anında iletme bildirimi kanalı oluşturmaya çalışırken oluşan hatalar

Olay günlüklerinizi denetleme

Kutucuk veya bildirim anında iletme bildirimleri beklendiği gibi görüntülenmiyorsa olay günlüklerine göz atın.

  • Bildirim alınır ancak gösterilmezse: Olay Görüntüleyicisi'ni başlatın ve Uygulamalar ve Hizmetler\Microsoft\Windows\Apps altındaki Microsoft-Windows-TWinUI/İşlem günlüğünü inceleyin.
  • Bildirim hiçalınmazsa: Olay Görüntüleyicisi'ni başlatın ve Uygulamalar ve Hizmetler\Microsoft\Windows\PushNotifications-Platform altındaki İşlem günlüğünü inceleyin.

Anında iletme bildirimi "200 Tamam" yanıtı alır ancak görüntülenmez

Windows Anında İletme Bildirimi Hizmetleri (WNS) bir "200 Tamam" yanıtı döndürürse, istemci çevrimiçiyse bildirimi istemciye teslim eder. İstemcinin çevrimiçi olduğunu doğruladıysanız ancak bildirimi görüntüleyemediyseniz şu adımları izleyin:

  • Neden: Bildirim içeriğinde XML hataları.

    Düzeltme: Temel XML söz dizimini doğrulayın ve XML'nizin eksiksiz ve doğru olduğundan emin olun. XML içeriğindeki bazı yaygın hata noktaları şunlardır:

    • Case sensitivity. Etiket adları, öznitelik adları ve öznitelik değerlerinin tümü büyük/küçük harfe duyarlıdır. XML'nizin doğru yazıma sahip olduğundan emin olun.
    • Desteklenen her kutucuk biçimi için bir bağlama öğesi sağlanmalıdır. Gönderdiğiniz her bildirimde desteklediğiniz kutucuk boyutlarının her biri için bir bağlama öğesi sağlamanız gerekir.
    • Metin dizeleri ayrılmış XML karakterleri içermemelidir. Örneğin, <i> ve </i> etiketleri ekleyerek kutucukları veya bildirim dizelerini italik yapamazsınız. "<i>" harfi karakterleri göstermeyi planlıyorsanız, uygun şekilde kaçırılmalıdır. XML'deki kaçış karakterleri hakkında daha fazla bilgi için bkz. XML Karakter Varlıkları ve XAML.
    • Lang öznitelikleri için sağlanan değerler, ITEF BCP 47 belirtimine uygun olmalıdır.
    • Anında iletme bildirimleri aracılığıyla gönderilen XML dizeleri UTF-8 kodlamasını kullanmalıdır.
    • XML yükünüzde boş olmayan src özniteliğine sahip bir görüntü öğesi eklerseniz, geçerli bir görsel referansı içerdiğinizden emin olmalısınız; aksi takdirde bildirim düşecektir.
  • Neden: Anında iletme bildirimi API parametrelerinin yanlış kullanımı

    Düzeltme: Ayrıntılar için Windows.Networking.PushNotifications ad alanında API belgelerine bakın.

  • Neden: Üst bilgi türü bildirim içeriğiyle eşleşmiyor. X-WNS-Type üst bilgisi, yükte belirtilen bildirim şablonuna karşılık gelen bir değere (kutucuk, rozet veya uçan pencere) ayarlanmamışsa bildirim görüntülenmez. Bu uyuşmazlık istemcide bir hataya neden olur ve bildirim göz ardı edilir.

    Düzeltme: Uygulama sunucunuzun X-WNS-Type üst bilgisi için doğru değeri kullandığını doğrulamak için Anında bildirim hizmeti isteği ve yanıt üst bilgilerine bakın.

  • Neden: X-WNS-TTL üst bilgisinde ayarlanan yaşam süresi (TTL) değeri çok küçük.

    Düzeltme: Değerin saniyeler içinde verildiğini bilerek daha büyük bir TTL değeri sağlayın.

Önceki adımlarda yer alan öğeleri ele aldıktan sonra bildiriminizin yine de görüntülendiğini görmüyorsanız, daha fazla öneri için bu konunun Yerel kutucuk bildirimi görüntülenmiyor bölümündeki yerel bildirimler için sorun giderme adımlarına bakın.

Anında iletme bildirimi "200 Tamam" dışında bir kod döndürür

WNS "200 Tamam" döndürmezse bildiriminiz istemciye teslim edilmeyecektir. Dönüş kodu 400'lerdeyse, geliştirici olarak sorunu çözebilmeniz gerekir.

Note

Burada özellikle listelenmeyen hatalar için bkz. COM Hata Kodları (WPN, MBN, P2P, Bluetooth).

  • Bildirim isteği "400 Hatalı İstek" döndürür
  • Bildirim isteği "401 Yetkisiz" sonucunu döndürür
  • Bildirim isteği "401 Yetkisiz" döndürüyor, belirtecin süresi doldu
  • Bildirim isteği "403 Yasak" değerini döndürür
  • Bildirim isteği "404 Bulunamadı" değerini döndürür
  • Bildirim isteği "406 Kabul Edilemez" değerini döndürür
  • Bildirim isteği "410 Gitti" değerini döndürür

Bildirim isteği "400 Hatalı İstek" döndürür

Bildirim isteği "401 Yetkisiz" sonucunu döndürür

  • Neden: Uygulama sunucunuz, uygulamanızı kaydederken size verilen doğru Paket Güvenlik Tanımlayıcısı 'nı (Paket SID) ve gizli anahtarı kullanmalıdır. Windows Mağazası Panosu'nda gizli anahtarınızı yakın zamanda değiştirdiyseniz, uygulama sunucunuzu da güncelleştirmeniz gerekir.

    Düzeltme: Paket SID'nizi ve gizli anahtarınızı doğrulamak için Windows Mağaza Panosu'nu ziyaret edin.

Bildirim isteği "401 Yetkisiz" döndürüyor, belirtecin süresi doldu

  • Neden: Erişim belirtecinin süresi sınırlıdır. Süresi dolmuş erişim belirteciyle bir bildirim gönderirseniz, uygulama sunucunuzun kimlik bilgileri geçersizdir ve bildirim gönderilemez.

    Düzeltme: Paket Güvenlik Tanımlayıcısı (Paket SID) ve gizli anahtar kullanarak WNS ile kimlik doğrulaması yaparak WNS'den yeni bir erişim belirteci isteyin. Daha fazla bilgi için bkz. Windows Anında İletme Bildirimi Hizmetlerine (WNS) genel bakış

Bildirim isteği "403 Yasak" değerini döndürür

  • Neden: Bu hata, sunduğun erişim belirteci ilgili kanal URL'sine bildirim göndermek için gereken kimlik bilgileriyle eşleşmediğinde oluşur. Uygulama sunucusunun kimlik bilgilerini almak için her uygulamanın Windows Mağazası'na kaydedilmesi gerekir. Her uygulama için, bu uygulamaya bildirim göndermek için yalnızca Windows Mağazası tarafından sağlanan kimlik bilgileri kullanılabilir ve bunlar yalnızca belirli bir uygulama için kullanılabilir.

    Düzeltme: Geliştirici hesabınızla Windows Mağazası Panosunda oturum açın. Uygulamanızı seçin ve "Gelişmiş Özellikler" -> "Bulut hizmeti ayarlarınızı yönetin" seçeneğine tıklayın. Uygulama bildiriminizi bulut hizmeti kimlik bilgilerinizle eşleşecek şekilde güncelleştirme yönergelerini okumak için "Uygulamanızı tanımlama" seçeneğini belirleyin.

Bildirim isteği "404 Bulunamadı" değerini döndürür

  • Neden: Bu hata genellikle kanal URL'sinin doğru oluşturulmadığı anlamına gelir. WNS'ye bildirim gönderdiğinizde kanal URL'si üzerinde hiçbir zaman oynanmamalı veya değiştirilmemelidir. Kanal URL'si her zaman opak bir dize olarak ele alınmalıdır; içeriğini incelemeniz ve hatta bilmeniz gerekmez.

    Düzeltme: Kodunuzun bir veya daha fazla karakterini değiştirerek veya kodlamasını değiştirerek kanal URL'sini değiştirmediğini doğrulayın.

Bildirim isteği "406 Kabul Edilemez" değerini döndürür

  • Neden: Kötü amaçlı uygulamaların diğer kullanıcılar ve geliştiriciler için hizmeti olumsuz etkilemesini önlemek için WNS'nin koruma ilkeleri vardır. Çok kısa bir süre içinde aşırı sayıda bildirim, WNS'nin bildirimleri açıkça kesmesiyle sonuçlanabilir.

    Düzeltme: Daha iyi bir kullanıcı deneyimi oluşturmak için azaltılıp azaltılmadığını veya iyileştirilebileceğini görmek için bildirim sıklığınızı gözden geçirin.

Bildirim isteği "410 Gitti" değerini döndürür

  • Neden: Kanal URL'sinin süresi doldu. Uygulamanız çalıştırılıp yeni bir kanal URL'si isteyene kadar başka bildirim gönderemezsiniz.

    Düzeltme: Windows Mağazası uygulamanız her başlatıldığında bir kanal URL'si istemelidir. Atandığı kanal URL'sinin aynı kalması garanti değildir. URL değiştiyse, istemcinin bulut sunucusundaki bilgileri güncelleştirmesi gerekir.

Anında iletme bildirimi kanalı oluşturmaya çalışırken oluşan hatalar

  • Bildirim kanalı oluşturmak ERROR_NO_NETWORK hatasıyla sonuçlanır
  • Bildirim kanalı oluşturmak WPN_E_CLOUD_INCAPABLE hatasıyla sonuçlanır
  • Bildirim kanalı oluşturmak WPN_E_INVALID_APP hatasıyla sonuçlanır

Note

Burada özellikle listelenmeyen hatalar için bkz. COM Hata Kodları (WPN, MBN, P2P, Bluetooth).

Bildirim kanalı oluşturmak ERROR_NO_NETWORK hatasıyla sonuçlanır

  • Neden: WNS, bildirim kanalı oluşturmak için İnternet bağlantısı gerektirir.

    Düzeltme: İnternet bağlantınızı denetleyin.

Bildirim kanalı oluşturmak WPN_E_CLOUD_INCAPABLE hatasıyla sonuçlanır

  • Neden: Uygulamanız, uygulama bildiriminde (package.appxmanifest) İnternet özelliğini bildirmiş değil.

    Düzeltme: Uygulama bildiriminizin İnternet özelliği bildirdiğinden emin olun. Visual Studio bildirim düzenleyicisinde, Özellikler sekmesinde İnternet (İstemci) olarak bu seçeneği bulacaksınız. Daha fazla bilgi için bkz . Özellikler.

Bildirim kanalı oluşturmak WPN_E_INVALID_APP hatasıyla sonuçlanır

  • Neden: Uygulamanız geçerli bir paket adı kullanmalıdır. Henüz almadıysanız, Windows Mağazası portalından "Gelişmiş Özellikler" bölümünden alabilirsiniz.

    Düzeltme: Windows Mağazası uygulamanız için bir Paket Güvenlik Tanımlayıcısı (PKSID) alma hakkında ayrıntılar için, Windows Anında İletme Bildirimi Hizmetlerine (WNS) genel bakışabakın.

Sorun bildirme

Bu konuda önerilen çözümleri denediyseniz ve sorununuzu çözmediyseniz, Microsoft forumlarında hem Microsoft geliştiricileri hem de diğer ilgili taraflarla tartışmak bir ileti gönderin.

Anında iletme bildirimleri için, sorunun açıklamasına ek olarak, hem HTTP hata kodları hem de HTTP üst bilgileri dahil olmak üzere kanal URL'nizi ve WNS'den aldığınız yanıtın bir örneğini sağlamanız istenebilir. Bir sorun bildirilirken uygulama sunucunuzun günlüğe kaydetmesi gereken belirli başlıklar vardır. Daha fazla bilgi için bkz. bildirim iletme hizmeti isteği ve yanıt üst bilgileri.