带参数的推送通知不接收 Windows Phone
Posted
技术标签:
【中文标题】带参数的推送通知不接收 Windows Phone【英文标题】:push notifications with param don't receive windows phone 【发布时间】:2013-09-06 19:23:26 【问题描述】:我遇到了一个非常奇怪的问题。我已经在我的应用程序中实现了推送通知,它工作正常,但前提是我不发送带有推送通知的参数。我的应用程序是 Windows Phone 8 应用程序。
由于某种原因,带有参数的推送通知不会到达我的手机,但如果没有参数,它们会。我已经尝试了很多“输入”来检查它是否是因为它不是有效的 uri、字符串等,但没有任何反应。
更奇怪的是,来自 Microsoft 服务器的响应说它已交付。
HTTP/1.1 200 OK 缓存控制:私有服务器:Microsoft-IIS/7.5 X-DeviceConnectionStatus:已连接 X-NotificationStatus:已收到 X 订阅状态:活动 X 消息 ID: 00000000-0000-0000-0000-000000000000 活动 ID: 381e48cc-7a1d-4076-979d-953a622bfc7d X 服务器:DB3MPNSM009 X-AspNet-版本:4.0.30319 X-Powered-By:ASP.NET 日期:9 月 6 日,星期五 2013 19:17:32 GMT 内容长度:0
发送,但不接收:
<?xml version="1.0" encoding="utf-8"?>
<wp:Notification xmlns:wp="WPNotification">
<wp:Toast>
<wp:Text1>Title test</wp:Text1>
<wp:Text2>Message test</wp:Text2>
<wp:Param>/Page2.xaml</wp:Param>
</wp:Toast>
</wp:Notification>
发送,但不接收
<?xml version="1.0" encoding="utf-8"?>
<wp:Notification xmlns:wp="WPNotification">
<wp:Toast>
<wp:Text1>Title test</wp:Text1>
<wp:Text2>Message test</wp:Text2>
<wp:Param>/Page2.xaml?id=34</wp:Param>
</wp:Toast>
</wp:Notification>
发送和接收
<?xml version="1.0" encoding="utf-8"?>
<wp:Notification xmlns:wp="WPNotification">
<wp:Toast>
<wp:Text1>Title test</wp:Text1>
<wp:Text2>Message test</wp:Text2>
<wp:Param></wp:Param>
</wp:Toast>
</wp:Notification>
我不知道问题可能出在哪里。我希望有人可以帮助我。
问候,
汤姆
【问题讨论】:
【参考方案1】:答案可能在这里http://msdn.microsoft.com/en-us/library/windows/apps/jj662938(v=vs.105).aspx...我在使用多个查询字符串参数时遇到了同样的问题。
我做了?something=value&amp;somethingelse=value
(失败)
然后我注意到&amp;
在示例中是使用&amp;
编码的。
所以当我把它改成?something=value&amp;somethingelse=value
时,就成功收到了通知。
【讨论】:
您的回答解决了我的问题。原来,首先,我使用的是“&”而不是“&”。一旦我改变了它,我只是发送了“Param”值。因此,当应用程序未在前台运行时,当 toast 到达时,我的应用程序没有收到任何额外的数据。但后来,我注意到我可以使用第四个节点:“NavigationUri”。只有当 toast 到达时应用程序正在运行时,才会读取参数。 NavigationUri(重新)在特定页面上启动应用程序以上是关于带参数的推送通知不接收 Windows Phone的主要内容,如果未能解决你的问题,请参考以下文章
如何发送推送通知 windows phone 8 应用程序?
应用程序未运行时的 Windows Phone 7 推送通知
当 Windows (phone) 8.1 应用程序在前台时接收并处理通知参数
Windows Phone 8 推送通知 - 不支持的频道 uri