我需要配置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)&p2=$(v2)</wp:Param>"+
"</wp:Toast> " +
"</wp:Notification>"
现在关于这个问题。发送测试通知时,toast的标头和内容与预期一致,但由于某种原因未更新有效负载。结果,我收到两个查询参数p1:“$(v1)”,p2:“$(v2)”。它似乎是一些有效载荷编码问题,或者在应用模板时通知中心没有考虑有效载荷,但这两种想法听起来都是错误的。你遇到过类似的问题吗?只是一个注释,在错误的参数名称的情况下,值替换为“”,所以它不是我的情况。
答案 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) + '&p2=' + $(v2)}</wp:Param>"+
"</wp:Toast> " +
"</wp:Notification>"
MSDN文章:http://msdn.microsoft.com/en-us/library/dn530748.aspx