如何在Windows Phone中将有效负载中的Json数据作为Toa​​st或Tile Notification发送

时间:2013-02-27 07:58:42

标签: json push-notification windows-phone-7.1 mpns

我想在Windows Phone中将有效负载中的Json数据作为Toa​​st或Tile Notification发送,如下所示:

string msg =
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
    "<wp:Notification xmlns:wp=\"WPNotification\">" +
       "<wp:Toast>" +
       "<wp:Text1><string></ltwp:Text1>" +
       "<wp:Text2><string></wp:Text2>" +
       "<wp:Json><data></wp:Json>" +
       "</ltwp:Toast>" +
    "</wp:Notification>";

如果可能,我能否在ShellToastNotificationReceived事件处理程序中接收Json?

2 个答案:

答案 0 :(得分:1)

您可以使用以下值发送参数:

string msg =
  "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
  "<wp:Notification xmlns:wp=\"WPNotification\">" +
  "<wp:Toast>" +
  "<wp:Text1><string></ltwp:Text1>" +
  "<wp:Text2><string></wp:Text2>" +
  "<wp:Param>/Home.xaml?NavigatedFrom=Toast Notification</wp:Param>" +
  "</ltwp:Toast>" +
  "</wp:Notification>";`
  • 如果您的应用在前台运行,则PushChannel_ShellToastNotificationReceived(object sender, NotificationEventArgs e)会被触发,e.Collection[key]您可以找到您发送的消息。
  • 如果您的应用未在前台运行,则点击吐司通知应用会启动并导航到指定的页面(此处为/Home.xaml)。在页面的OnNavigatedTo(NavigationEventArgs e)事件中,您可以找到传递的参数并可以使用它们。

所以你可以尝试在参数值中发送json字符串,并在你的应用程序中使用它们。我没有尝试过。这些信息可能对你有用。

一切顺利。

答案 1 :(得分:0)

如果您想发送通用内容,则应使用Raw Notification。这可以包含您希望的任何内容。

原始通知的限制是,如果您的应用未运行,则无法接收,因此您可能希望向设备发送Toast(或磁贴)通知,然后当应用随后启动时触发发送原始通知 当然,如果你要发出一个web请求来触发发送单个原始消息,那么发送有效负载以响应触发请求可能会更好。