在 Windows 8 中保持推送通知通道

Posted

技术标签:

【中文标题】在 Windows 8 中保持推送通知通道【英文标题】:Persisting Push Notification Channels in Windows 8 【发布时间】:2012-11-19 12:23:46 【问题描述】:

是否可以将 PushNotificationChannel 持久化到 Windows 8 中的存储中?

我在后台任务中使用通道,并在应用程序处于活动状态时使用 Received 事件。由于 PushNotificationChannel 类是密封的并且没有公共构造函数,它不能存储在 ApplicationSettings 中或通过 JSON/XML 序列化到文件中。

当频道每 30 天到期时,我真的不想在每次应用启动时都请求新频道。

该服务使用原始通知而不是平铺/吐司,并且需要由应用处理(无论它是否打开)。

【问题讨论】:

【参考方案1】:

实际上,您应该在每次应用程序启动时请求一个新频道。来自Guidelines and Checklist for push notifications

... Therefore, your app should request a channel each time the app launches. ...

我听说过,但尚未确认,如果硬件也有修改,URI 可能会发生变化(我知道 ASHWID 会发生变化),因此此时 30 天可能是一个“最大值”。

在没有更改的情况下,您不一定要更新管理注册的云服务,但将 URI 保存在 ApplicationSettings 中就足够了。

【讨论】:

谢谢你,我已经被告知了,但你在我之前回答了:) 如果我们能确保有一个活动频道而不是每次都创建一个新频道,那就太好了。 - 保存服务器请求。

以上是关于在 Windows 8 中保持推送通知通道的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows 8.1 频道上使用相同的推送通知频道

在创建通知通道 Windows Phone 7 时获取 MPNS 返回到推送客户端的 URI

Windows Azure 中的推送通知标签无效

使用 Azure 在 Windows phone 8 中推送通知

Windows phone 8 推送通知

WP7 推送通知通道数限制