2013-01-09 97 views
0

我的WP7應用需要處理不同類型的推送通知。其中一些僅在應用程序運行時才相關,但一種類型用作提示用戶啓動應用程序以及在應用程序運行時需要處理。因此,開推式信道的時候,我的代碼調用BindToShellToast和寄存器當接收RAW和Toast通知事件處理程序:處理吐司和原始推送通知

if (!_pushChannel.IsShellToastBound) 
{ 
    _pushChannel.BindToShellToast(); 
} 

_pushChannel.HttpNotificationReceived += new EventHandler<HttpNotificationEventArgs>(pushChannel_HttpNotificationReceived); 
_pushChannel.ShellToastNotificationReceived += new EventHandler<NotificationEventArgs>(pushChannel_ShellToastNotificationReceived); 

望着認證要求,看來我必須提供用戶設置允許他們不僅啓用/禁用一般推送通知,還特別提醒通知。請參閱Additional requirements for specific app types for Windows Phone(要求6.2.1)

由於用戶可能啓用常規推送通知但禁用了Toast通知,因此我認爲我的服務器似乎需要爲需要的類型發送原始通知和Toast通知在應用程序未運行時處理。這將使註冊ShellToastNotificationReceived事件毫無意義。我的想法在這裏正確嗎?

回答

0

您應該在服務器上爲每個註冊設備存儲一個設置,命名用戶允許的通知類型。

+0

感謝您的建議Igor。不幸的是,這對我來說不是一個簡單的選擇,但我可以看到它可以解決我的問題,所以我將其標記爲答案。 – Kevan