Windows Phone的推送消息(WNS):通道URL被阻止

15

我有一个运行在Windows Phone 8.1设备上的应用程序,并且我正在使用Windows Push Notification Services(WNS)向设备传递推送消息。推送消息的传递已经工作了大约8天,直到我收到了类似于这些响应中的WNS标头:

X-WNS-NOTIFICATIONSTATUS: dropped
X-WNS-STATUS: dropped
X-WNS-ERROR-DESCRIPTION: Blocked channel URL
X-WNS-MSG-ID: 2DC1361376C2827E
X-WNS-DEBUG-TRACE: DB5SCH101121937

我没有更改推送服务器的实现,也没有更改 Windows Phone 设备上的代码。两个组件的构建都没有任何更改。 我在一天结束工作后回家,第二天运行了一个简单的测试,结果出现了那个特定的错误。为了解决这个问题,我尝试了以下几种方法:

  • 在设备上重新创建了通道URL。
  • 重新将现有的 Windows Phone 应用与商店相关联。
  • 在关联到商店后,在 Visual Studio 中创建了一个新的 Windows Phone 应用。
  • 在开发人员门户上重新创建了 Windows Phone 应用程序。
  • 使用了另一台物理设备。

但是每次尝试都没有成功。关于 WNS 的文档很少,并且我不知道是否存在其他支持渠道,所以我被难住了。是什么导致了这个特定的错误“Blocked channel URL”,或者说我该如何解决它?


你尝试过访问https://msdn.microsoft.com/en-us/library/windows/apps/hh465407.aspx吗? - Alex Lebedev
@AlexLebedev 嗯,认证完全没有问题。这以前就可以正常工作,而且现在也是如此,没有任何问题。 - Deathspike
你有没有看过Azure和服务器的变化?服务器类型将会被迁移。对于一些人来说,这必须手动选择,并且解决了一个类似的问题。 - JTIM
@JTIM 我没有使用Azure,但您能否详细说明一下这个更改涉及什么?这可能也适用于我的情况(假设它是开发中心选项中的某些内容)。 - Deathspike
@RoelvanUden 那么这就不适用了。Azure中的服务器类别/类型已经更改,应该自动迁移。这影响了我,导致我没有收到任何WNS。然后当我强制进行特定的迁移时,它幸运地重新启动了。由于您在开发中心遇到了问题,它也已经更新,也许您应该尝试创建一个新的提交并使用新的URI更新您的应用程序,也许可以帮助解决问题? - JTIM
显示剩余3条评论
1个回答

0

从您的Windows手机应用程序中,您需要更新通知通道的URL,因为该URL最多可以有效15天。

来自Microsoft文档:

“每次应用程序启动时请求一个通道。通道URL可能会过期,并且不能保证每次请求时都保持相同。如果返回的通道URL与您之前使用的URL不同,请在应用程序服务器中更新您的引用。”

编辑:

请参考此链接https://msdn.microsoft.com/zh-cn/library/windows/apps/hh761462.aspx


1
谢谢你的回答。不幸的是,这正是我尝试解决这个问题时列出的第一步。 - Deathspike
我已经花了将近两个星期的时间寻找解决方案,在我的情况下,我成功地收到了2-3个通知,之后它就一直显示“已丢弃”的错误。我觉得WNS服务非常不可靠,最糟糕的是他们意识到这一点,但仍然没有改进自己。 - JD-V

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接