Windows Phone 8推送通知如何使用ChannelUpdatedUri来检测频道更新

时间:2013-09-23 13:27:58

标签: windows-phone-8 mpns

我想知道什么是干净的& amp;正确的方式来通知我的WP8应用程序ChannelUri已经改变了吗?

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

第二个查询假设我使用ChannelUpdatedUri来监听对Uri的更改。如果有更改,应用程序会在启动后立即通知吗?或者稍后会通知它?

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

请帮忙!

1 个答案:

答案 0 :(得分:1)

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

最好的方法是始终检查当前的Uri并在应用启动时将其传递给服务器。您可以在应用程序的生命周期内保留附加的侦听器,如果在应用程序运行时丢失,则可以获取新的应用程序,但实际上,当手机未使用时,通道将更有可能被丢弃/断开。 / p>

当然,当应用程序未使用时,channelUri可能会过期,但应用程序的实用程序主要是发送通知。显然,您需要用户重新启动应用程序以获得新连接,但您无法告诉他们重新启动应用程序 这是一个普遍的问题:你怎么告诉别人你不能跟他们说话?

这种情况的实际情况是,如果你真的需要告诉某人再次启动应用程序,你将需要另一种方法来实现它。

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

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

此方案没有完美的解决方案,除了创建用户定期打开的应用程序,无论是否有通知,只是将通知作为额外功能。