在 windows 商店应用 8.1 中管理 toast 通知

Managing toast notifications in windows store app 8.1

在 windows 8.1 商店应用程序项目中,我希望能够接收 toast 通知,然后在我的应用程序中管理它们的信息。

到目前为止,我有一个 nodeJS 服务器可以发送 toast 通知并且运行良好。

我想知道的是:首先,我如何处理收到通知的事件,其次,如果有一种方法可以在不同的页面打开应用程序,当我点击 [= 上的 toast 通知时24=],这取决于我得到的吐司,例如,如果我得到的吐司说 "Hello" 我会点击它,应用程序会在 hello.xaml 页面上打开,如果我有一个说 "Goodbye" 我会在页面 goodbye.xaml 中打开应用程序。

这是我在 nodejs 中发送的

wns.send({
    channelURI: 'https://db5.notify.windows.com/?token=ABCD',
    payload: '<toast launch="launch_arguments">'+
    '<visual>'+
    '<binding template="ToastText03">'+
    '<text id="1">Notification - ' + date.toDateString().replace(/T/, ' ').replace(/\..+/, '')+ ' ' + date.getHours() + ':'+date.getMinutes() + '.</text>'+
    '<text id="1">msg 123 test 456.</text>'+
    '<text id="1">bla bla bla bla</text>'+
    '</binding>'+
    '</visual>'+
    '</toast>',
    type: 'toast'
});

这里有一个关于如何处理 Toast 通知的好话题:

http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/07/09/quickstart-sending-a-local-toast-notification-and-handling-activations-from-it-windows-10.aspx

这里有一篇关于 'Interactive Toast Notification' 的非常好的文章: http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/07/02/adaptive-and-interactive-toast-notifications-for-windows-10.aspx

如果您想要 windows 8.1,这里有一个很好的指南:

https://msdn.microsoft.com/en-us/library/windows/apps/hh761462.aspx https://msdn.microsoft.com/en-us/library/windows/apps/hh465391.aspx

更新 1:

您可以使用启动参数发送您想要的所有数据,而不仅仅是参数 .. 即: 见 "launch=.."

wns.send({
    channelURI: 'https://db5.notify.windows.com/?token=ABCD',
    payload: '<toast launch="{\"params\":\"launch_arguments\",\"text\":\"Notification \",\"text_1\":\"msg 123 test 456\"}">'+
    '<visual>'+
    '<binding template="ToastText03">'+
    '<text id="1">Notification - ' + date.toDateString().replace(/T/, ' ').replace(/\..+/, '')+ ' ' + date.getHours() + ':'+date.getMinutes() + '.</text>'+
    '<text id="1">msg 123 test 456.</text>'+
    '<text id="1">bla bla bla bla</text>'+
    '</binding>'+
    '</visual>'+
    '</toast>',
    type: 'toast'
});

您可以对此进行编辑:

"{\"params\":\"launch_arguments\",\"text\":\"Notification \",\"text_1\":\"msg 123 test 456\"}"

而且,您可以在 App.cs 中轻松阅读它,方法是取消 json 操作...

参考:https://msdn.microsoft.com/en-us/library/hh868212.aspx

更新 2:

你可以使用你自己的格式,而不是 json ..我的意思是:param1:[val1],param2:[val2]..等等,你可以做一些正则表达式来取消格式:- )