Windows推送通知 - 在删除之前在队列中待多久

时间:2016-06-28 11:18:05

标签: push-notification uwp wns

我正在开发我的第一个Windows UWP应用程序。并计划使用Windows推送通知来通知应用程序有关某些服务器更新。此应用程序始终无法访问Internet。它可能会在几天内脱机。所以我想确定在这种情况下是否可以使用推送通知。如果该设备处于脱机状态时从服务器发送通知,那么在没有从队列中删除的情况下它将存在多长时间?

在一篇文章中,我读过“默认情况下,推送通知会在Windows推送通知服务(WNS)收到通知后三天到期。如果需要,您可以使用明确的到期时间覆盖此默认值。”但是我不确定这是指我要问的是什么,或者它是否说当它被送到设备时,瓷砖,徽章等会在3天后删除它。

请你澄清一下。

1 个答案:

答案 0 :(得分:0)

  

默认情况下,推送通知会在Windows推送通知服务(WNS)收到推文通知后的三天内到期。如果需要,您可以使用明确的到期时间覆盖此默认值。

我不确定你在哪里读到这个。但是,这不太对。三天到期时间是指设备交付时瓷砖和徽章通知的生命周期。它不是从WNS收到它们之时开始的。

默认情况下,本地磁贴和徽章通知不会过期,而推送,定期和预定通知会在三天后过期。所以在Expiration of tile and badge notifications中,它说

  

默认情况下,磁贴和徽章通知在下载后三天到期。

我们可以通过设置X-WNS-TTL header来更改每个通知的到期时间。如果您希望确保通知不会在特定时间之后显示,则会自动使用此标头。 TTL以秒为单位指定,与WNS接收请求的时间相关。

对于您的问题,通过Important notes发送通知下的Windows Push Notification Services (WNS) overview,我们可以找到:

  

当设备离线时,默认情况下,WNS将存储最多五个磁贴通知(如果启用了排队;否则,一个磁贴通知)和每个通道URI的一个徽章通知,并且没有原始通知。可以通过X-WNS-Cache-Policy header更改此默认缓存行为。请注意,当设备离线时,永远不会存储Toast通知。

X-WNS-Cache-Policy header中,我们可以获得更多信息。

  

当通知目标设备离线时,WNS将为每个应用缓存一个徽章和一个磁贴通知。如果为应用启用了通知循环,WNS将缓存最多五个磁贴通知。默认情况下,不会缓存原始通知,但如果启用了原始通知缓存,则会缓存一个原始通知。 项目不会无限期地保留在缓存中,并会在一段合理的时间后被删除。否则,当设备下次联机时,会传递缓存的内容。

因此,当您的应用离线时,WNS可以为您缓存一些推送通知,但很难说它们将被缓存多长时间。

  

WNS回应表示已收到通知,并将在下一个可用机会时发送。但是,WNS不会提供设备或应用程序已收到您的通知的端到端确认。

WNS不保证通知的可靠性或延迟。如果您想确保用户可以收到有关服务器更新的通知,您可能需要使用其他一些技术。例如,您可以在应用程序联机时向服务器发送活动请求以进行服务器更新。