即使状态为200,WNS推送通知也不起作用

时间:2015-03-18 14:26:19

标签: javascript push-notification windows-phone-8.1 winjs toast

我正在通过WNS和WINJS(Windows Phone 8.1)进行推送通知。 我遵循了这篇文章https://msdn.microsoft.com/en-us/library/windows/apps/hh465460.aspx。 现在我无法在我的设备上接收推送通知,但WNS服务器以状态200和收到的消息回复我

HTTP/1.1 200 OK
Content-Length: 0
X-WNS-DEVICECONNECTIONSTATUS: connected
X-WNS-NOTIFICATIONSTATUS: received
X-WNS-STATUS: received
X-WNS-MSG-ID: 77B3599101A23AB8
X-WNS-DEBUG-TRACE: DB3WNS2010831
Strict-Transport-Security: max-age=31536000; includeSubDomains
Date: Wed, 18 Mar 2015 13:58:29 GMT

我的请求标题(在php中循环)是:

[0] => Content-Type: text/xml
[1] => Content-Length: 142
[2] => X-WNS-TTL: 3600000
[3] => X-WNS-Type: wns/toast
[4] => X-WNS-RequestForStatus: true
[5] => Authorization: Bearer EgAeAQMAAAAEgAAAC4AA90q2GTPfvxMbeV....

我的xml测试有效负载是:

<toast>
  <visual lang="it-IT">
    <binding template="ToastText02">
       <text id="1">Hello</text>
    </binding>
  </visual>
</toast>

显然对于服务器来说,我的请求很好,但没有任何内容发送到设备(无论是关闭的应用程序还是正在运行的应用程序与相关的pushnotificationreceived事件)。我也检查了这个列表https://msdn.microsoft.com/en-us/library/windows/apps/dn457490.aspx#push_200_OK,但没有成功,似乎(对我来说)一切都设置得很好。我真的生气了,我不知道错误究竟在哪里。 有人有同样的问题吗?非常感谢

2 个答案:

答案 0 :(得分:1)

我有确切的问题,花了几个小时阅读并尝试了很多事情后我终于找到了问题。 WP8.1应用程序的软件包清单在“应用程序”选项卡下有一个启用Toast通知的选项;你需要明确设置“是”。

男人,这令人沮丧,因为没有任何迹象表明失败了!

答案 1 :(得分:0)

推送通知也有很多问题。

  1. 我了解您已将App与商店相关联?
  2. 卸载您的应用并获取设备的新URI。
  3. 仅发送&#34;授权&#34;和&#34; X-WNS-Type&#34;头。
  4. 我的工作示例<?xml version=\"1.0\" encoding=\"utf-16\"?><toast><visual><binding template=\"ToastImageAndText01\"><image id=\"1\" src=\"\"/><text id=\"1\"></text></binding></visual></toast>