【问题标题】:Notification Hub Caching of Toast NotificationsToast 通知的通知中心缓存
【发布时间】:2016-09-26 06:38:24
【问题描述】:

我想实现一种确保用户接收通知的方法,例如Azure NotificationHub - Detect failed notifications

但是,当一个标签有很多订阅时,这种方法的成功有限,然后以大量的服务器时间结束。

相反,我找到了这个链接caching Notifications。它特别指出无法缓存 toast 通知。不过,自从我使用通知中心升级到 Azure 应用服务后,我已经测试了 toast 通知实际上已被缓存。

但是,我找不到任何有关 Toast 的缓存文档,或者如何确保缓存或可以缓存多少通知,以及最终缓存多长时间?

因此,我想知道是否有人对缓存以及如何指定缓存有任何了解?上面链接中的示例:

X-WNS-Cache-Policy: cache | no-cache

但是这是如何指定的呢?

更新

关于启用缓存的答案是正确的。尽管如此,我仍然不清楚Notifications are cached 需要多长时间,链接说通知会在合理的时间后被丢弃,那是什么?

此外,没有指定存储了多少通知,一个属性被称为链接的循环,这样,如果使用相同的标签缓存新消息,它将取代旧消息。但是没有提到可以存储多少个不同的标签,也没有提到如何启用或禁用循环?

最后每个频道/用户可以缓存多少条消息?

【问题讨论】:

    标签: azure caching push-notification notifications azure-notificationhub


    【解决方案1】:

    Azure 通知中心不会将此标头设置为默认值。根据 WNS 文档,默认情况下启用缓存。

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

    要显式设置此标头,您可以使用通知中心 SendNotificationAsync API 发送通知。 示例:

    字典 wnsHeaders = new Dictionary();

    wnsHeaders.Add("X-WNS-Cache-Policy", “cache”);

    WindowsNotification 通知 = new WindowsNotification(“payload”, wnsHeaders);

    等待客户。 SendNotificationAsync(通知);

    【讨论】:

    • 好吧,有趣的是它被缓存了。能说说有多少吗?多长时间?你能看到有多少消息已经为该特定用户/频道缓存了吗?
    • 你知道如何在 xml 版本中添加标题,我的通知是以这种格式创建的 怎么会我包括标题?
    猜你喜欢
    • 2012-02-05
    • 2017-06-02
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2016-09-27
    • 2018-04-21
    • 2014-10-07
    • 1970-01-01
    相关资源
    最近更新 更多