gpt4 book ai didi

java - 推送通知时 MPNS 错误请求 (WP 8.1)

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:18 27 4
gpt4 key购买 nike

我目前正在为 Windows Phone 8.1 开发基于 Cordova(版本 4.0.0)的移动应用程序。

我从 API Java-MPNS(来自 notnoop 的 github)实现了 Java 代码,以将通知发送到我的设备。

当我将通知消息推送到 MPNS 时,出现此错误:

HTTP/1.1 400 错误请求 [内容长度:0,X-WNS-MSG-ID:50267BB8627BC17D,X-WNS-DEBUG-TRACE:DB5SCH101121935,严格传输安全:max-age=31536000; includeSubDomains,WWW 身份验证:承载者,日期:2016 年 1 月 7 日星期四 09:13:01 GMT] org.apache.http.conn.BasicManagedEntity@1ab5b13

根据 Windows Phone 8 的推送通知服务响应代码文档,此错误代码表示 XML 文档或通知 URI 格式错误。

这是我的通知 URI:

https://db5.notify.windows.com/?token=AwYAAAC%2fHaOBh3zOgFjUbZuCSMgzXY29aQDT9wKfpkiPsd85WKBA8muqx4is4r1nBVXQOtRKqe5cc%2fxat7hq6sZBruvm6nQF7p9Sl71TIiqnGvlrdDDw6v0anax4bXUCtflPwEc%3d

这是 XML 文档(由 Java-MPNS 从 Java 类 TileNotification 生成):

<?xml version="1.0" encoding="utf-8"?>
<wp:Notification xmlns:wp="WPNotification">
<wp:Tile>
<wp:Count>1</wp:Count>
<wp:Title>Demo App Windows</wp:Title>
<wp:BackContent>New notification</wp:BackContent>
</wp:Tile>
</wp:Notification>

当我将此 XML 文档与如何发送和接收 Windows Phone 8 的磁贴通知文档中的 XML 文档进行比较时,我没有发现任何差异或错误。关于我的通知 URI,我认为该链接是正确的。

但是,http://db3.notify.live.net 之间有什么区别?和 https://db5.notify.windows.com

有人已经使用过这个 API 了吗?您知道如何修复它吗?

最佳答案

*.notify.live.net 是 MPNS channel URI,而 *.notify.windows.com 是 WNS channel URI。您正在获取 WNS channel URI(也称为您的应用程序设置为使用 WNS),但您正在尝试使用 MPNS。 400 是因为 WNS 希望您使用 OAuth 进行身份验证。

我会仔细检查您是否真的想在新应用程序中使用 MPNS 而不是 WNS。 MPNS 此时被认为是遗留的。如果您希望在某个时候将应用程序移植到 Windows 构建 UWP,则需要切换到 WNS。更多详细信息/指南可以在这里找到:https://msdn.microsoft.com/en-us/library/windows/apps/dn642085(v=vs.105).aspx

如果您确实需要使用 MPNS,请确保您使用 MPNS API 来请求 channel :https://msdn.microsoft.com/en-us/library/windows/apps/microsoft.phone.notification(v=vs.105).aspx ,而不是 WNS API:https://msdn.microsoft.com/en-us/library/windows/apps/hh465412.aspx .

关于java - 推送通知时 MPNS 错误请求 (WP 8.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34727482/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com