1

我需要配置 Azure 通知中心来为不同的移动平台发送模板通知。对于 Windows Phone 8,它应该是一个能够导航到带有查询参数的特定页面的祝酒词。这些参数以及 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 的 header 和内容都符合预期,但由于某种原因,payload 没有更新。结果,我收到两个查询参数 p1:“$(v1)”,p2:“$(v2)”。这似乎是一些有效负载编码问题,或者通知中心在应用模板时根本没有考虑有效负载,但这两种想法听起来都是错误的。你遇到过类似的问题吗?只是说明一下,如果参数名称错误,值将替换为“”,所以这不是我的情况。

4

1 回答 1

1

不幸的是,您不能像以前那样在模板中混合属性。当您使用连接时,您必须显式添加表达式评估运算符“{}”。

在你的情况下:

"<?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

于 2014-01-17T18:07:00.863 回答