我在與UWP推送通知如下問題。UWP推在前臺和後臺
場景:
前景註冊了推送通知後臺任務,但也希望被通知了進入的推動,因此它得到一個通道,與當時的通道鉤到該通道上的事件更新服務器。
推送通知進來
- 後臺任務啓動並執行它的工作。它還檢查通道URI是否已更改,如果已更改,則使用新的uri更新服務器。
結果:因爲後臺任務更新與前臺應用程序在聽什麼不同的通道URI的服務器在通道上
前臺應用程序不再接收傳入的推動。
什麼是前臺應用程序繼續監聽推送通知後的URI可能改變的正確方法?
澄清更新問題:
步驟1前景的應用程序代碼:
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
channel.PushNotificationReceived += OnPushNotificationReceived;
//<update server with channel.Uri
步驟2後臺任務啓動並還檢查了新的頻道uri:
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
//update server with channel uri
問題
如果步驟2信道URI更改則即使處理程序步驟1永遠不會被再次調用。
謝謝謝謝謝謝謝。我們的應用程序正在執行此操作我們沒有收到推動的問題。讓我澄清我的問題。 在前臺應用程序,我們呼籲: PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync(); 然後: channel.PushNotificationReceived + = OnPushNotificationReceived; 問題是當通道URI發生變化(並且我們用新的通道URI更新服務器)時,我們的前臺應用程序中的事件回調將永遠不會再次觸發 –
@JustinHorst爲什麼不使用[通知偵聽器](https:// docs .microsoft.com/EN-US /窗/ UWP /控制和圖案/瓦和-通知/通知監聽)?如果您使用通知偵聽器,則不需要考慮通道URI是否已更新。 –
謝 - 如果我理解正確通知監聽器需要我們去所有的用戶通知的訪問,我們不需要,我們僅需要被通知當原始通知來爲我們的應用程序 –