带有效负载的Windows Phone吐司通知模板

时间:2013-11-14 11:42:16

标签: azure windows-phone-8 push-notification mpns azure-notificationhub

我需要配置Azure Notification Hub以针对不同的移动平台发送模板通知。对于Windows Phone 8,它应该是一个能够导航到具有查询参数的特定页面的Toast。这些参数必须是可配置的,以及toast标头和消息。这是模板:

 "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
 "<wp:Notification xmlns:wp=\"WPNotification\">" +
     "<wp:Toast>" +
         "<wp:Text1>$(caption)</wp:Text1>" +
         "<wp:Text2>$(content)</wp:Text2>" +
         "<wp:Param>/Views/TargetPage.xaml?p1=$(v1)&amp;p2=$(v2)</wp:Param>"+
     "</wp:Toast> " +
 "</wp:Notification>"

现在关于这个问题。发送测试通知时,toast的标头和内容与预期一致,但由于某种原因未更新有效负载。结果,我收到两个查询参数p1:“$(v1)”,p2:“$(v2)”。它似乎是一些有效载荷编码问题,或者在应用模板时通知中心没有考虑有效载荷,但这两种想法听起来都是错误的。你遇到过类似的问题吗?只是一个注释,在错误的参数名称的情况下,值替换为“”,所以它不是我的情况。

1 个答案:

答案 0 :(得分:1)

不幸的是,你不能像模仿那样混合模板中的属性。当您使用串联时,您必须明确添加表达式评估运算符&#39; {}&#39;

在你的情况下:

"<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
 "<wp:Notification xmlns:wp=\"WPNotification\">" +
     "<wp:Toast>" +
         "<wp:Text1>$(caption)</wp:Text1>" +
         "<wp:Text2>$(content)</wp:Text2>" +
         "<wp:Param>{'/Views/TargetPage.xaml?p1=' + $(v1) + '&amp;p2=' + $(v2)}</wp:Param>"+
     "</wp:Toast> " +
 "</wp:Notification>"

MSDN文章:http://msdn.microsoft.com/en-us/library/dn530748.aspx