2014-10-28 14 views
13

Uygulamam, uygulama kapatıldığında push bildirimlerini iyi alıyor. Ancak uygulama çalışırken, hiçbir şey alamıyorum. Bu, önceki uygulamalarda herhangi bir sorunla karşılaştığım aynı kod, WindowsPhone8'daydı ve yeni uygulamalar WindowsPhone8.1 cihazlarında çalışıyor.Uygulama açık olduğunda PUSH gösterilmiyor

Orijinal uygulamayı yaptığımda bu Push Tutorial'u kullandım. Uygulama açıkken bildirimleri almak istiyorsanız, bunu ekleyen satır var.

Eğer 8.1 güncellemesi, bilmek güzel olan push bildirimlerine bir şey yapmıştır. Başka bir şey de takdir edilecektir.

HttpNotificationChannel pushChannel; 
string channelName = "PushChannel"; 
pushChannel = HttpNotificationChannel.Find(channelName); 
//Push Notifications 
if (pushChannel == null) 

{ 
    pushChannel = new HttpNotificationChannel(channelName); 

    //// Register for all the events before attempting to open the channel. 
    pushChannel.ChannelUriUpdated += 
     new EventHandler<NotificationChannelUriEventArgs>(
     PushChannel_ChannelUriUpdated); 
    pushChannel.ErrorOccurred += 
     new EventHandler<NotificationChannelErrorEventArgs>(
     PushChannel_ErrorOccurred); 

    // Register for this notification only if you need to receive 
    // the notifications while your application is running. 
    pushChannel.ShellToastNotificationReceived += 
     new EventHandler<NotificationEventArgs>(
     PushChannel_ShellToastNotificationReceived); 

    pushChannel.Open(); 

    // Bind this new channel for toast events. 
    pushChannel.BindToShellToast(); 

} 
else... 



void PushChannel_ShellToastNotificationReceived(object sender, 
                 NotificationEventArgs e) 

{ 
    string relativeUri = string.Empty; 

    // Parse out the information that was part of the message. 
    foreach (string key in e.Collection.Keys) 

    { 
     if (string.Compare(
     key, 
     "wp:Param", 
     System.Globalization.CultureInfo.InvariantCulture, 
     System.Globalization.CompareOptions.IgnoreCase) == 0) 

     { 
      relativeUri = e.Collection[key]; 
     } 


    } 
} 
+0

Lütfen bir kod gösterin. MPNS veya WNS kullanıyor musunuz? – Fred

+0

Kod eklendi. Diğerleri, olay işleyicilerini zaten varolan PushChannel'e eklemeye gider. – Seige

+0

Özetle, ShellToastNotificationReceived çalışmıyor. Öyle değil mi? – fillobotto

cevap

2

Rob Caplan:

Toasts uygulama ön planda olduğunda gösterilecek beklenmiyor. Uygulamanın gerekiyorsa kendi kullanıcı arayüzünü göstermesi bekleniyor (snippet'iniz hiçbir şey göstermiyor). ShellToastNotificationReceived olayı budur: tost bildirimi tost geldiğinde yerine geldiğinde patlar. Tostu beklediğinizde ShellToastNotificationReceived'in yükseltilmediğini doğrulayabilir misiniz? Olmalı. Hata ayıklayıcısına kaydedildiğini ve alındığını (veya değil) doğrulayabilir misiniz? msdn.microsoft.com/en-us/library/windows/apps/...

See Me: Açık bir uygulaması bir PUSH alınca

8.1 Güncellemesi önce, tost yine gösterecektir. Sadece biraz test yaptım ve yeterince "PushChannel_ShellToastNotificationReceived" olayı hala tetikleniyor ama tost göstermiyor. Sanırım bu sadece farklı bir şekilde ele almam gerekiyor. Bunu bir cevaba çevirmek isterseniz, ödülü kazanabilirim.

İlgili konular