Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 8 Windows phone 8推送通知如何使用ChannelUpdateURI检测频道更新_Windows Phone 8_Mpns - Fatal编程技术网

Windows phone 8 Windows phone 8推送通知如何使用ChannelUpdateURI检测频道更新

Windows phone 8 Windows phone 8推送通知如何使用ChannelUpdateURI检测频道更新,windows-phone-8,mpns,Windows Phone 8,Mpns,我想知道通知我的WP8应用程序ChannelUri已更改的干净正确的方法是什么 我读到我需要在ChannelUpdateDri方法中处理这个问题。但我这里有几个问题。这不要求我的应用程序一直运行吗 第二个查询是假设我使用ChannelUpdateURI监听Uri的更改。如果有更改,应用程序启动后会立即通知吗?还是会在以后通知 问题是,如果应用程序在启动时没有得到通知,那么它可能会在调用ChannelUpdateURI之前重新注册新的频道uri。不是吗 请帮忙 只有当您连接了侦听器并且应用程序正在

我想知道通知我的WP8应用程序ChannelUri已更改的干净正确的方法是什么

我读到我需要在ChannelUpdateDri方法中处理这个问题。但我这里有几个问题。这不要求我的应用程序一直运行吗

第二个查询是假设我使用ChannelUpdateURI监听Uri的更改。如果有更改,应用程序启动后会立即通知吗?还是会在以后通知

问题是,如果应用程序在启动时没有得到通知,那么它可能会在调用ChannelUpdateURI之前重新注册新的频道uri。不是吗


请帮忙

只有当您连接了侦听器并且应用程序正在运行时,您才会收到ChannelUri更改的通知

最好的方法是始终检查当前Uri,并在应用程序启动时将其传递给服务器。你可以在你的应用程序的整个生命周期中保持侦听器的连接,如果在应用程序运行时丢失,你可以获得一个新的侦听器,但实际上,当手机不使用时,该频道很可能会被丢弃/断开

当然,也有这样一种情况,即当应用程序未被使用时,channelUri可能会过期,但应用程序的实用程序主要是围绕发送通知。显然,您需要用户重新启动应用程序以获得新连接,但您不能告诉他们重新启动应用程序。
这是一个普遍的问题:你如何告诉别人你不能和他们说话

这种情况的现实情况是,如果你真的需要告诉某人再次启动应用程序,你需要另一种方式来完成

不幸的是,无法从后台代理获取更新的channelUri,但您可以查询您的后端以查看是否需要,然后向用户敬酒,提示他们重新打开应用程序。或者,发生这种情况时,您可以从代理更新磁贴

或者,您需要以另一种方式(例如电子邮件或短信?)向他们发送提示,但这取决于您捕获并安全存储这些详细信息


对于这种情况,除了创建一个用户定期打开的应用程序,不管是否有通知,并将通知作为一项额外功能,没有完美的解决方案。

我仍然不确定ChannelUriUpdated是如何工作的。例如,如果应用程序注册通知并接收到ChannelUri(比如a)。现在用户关闭应用程序。下次启动应用程序时,ChannelUri是否会自动开始侦听对上次注册的Uri(A)的更改?请解释。@user1122549 ChannelUri是您发送推送通知的URI。手机将接收发送到Uri的通知。在大多数情况下,一旦你为你的应用程序创建了ChannelUri,它就不会经常改变。在您使用应用程序时不太可能更改(除非这与您发送的无效通知同时发生,该通知将导致频道过期)。您通常只需要担心频道在首次创建时会被更改,因为将触发此事件/回调。谢谢Matt!根据您的回复,我正在检查应用程序启动时Uri的有效性。我将对其进行测试,并提供有关其运行情况的更新。