Toast 通知的通知中心缓存
Notification Hub Caching of Toast Notifications
我想实现一种确保用户收到通知的方法,例如
然而,当有很多人订阅一个标签时,这种方法的成功率有限,最终服务器时间也很长。
相反,我发现了这个 link caching Notifications。它特别指出无法缓存 toast 通知。尽管如此,自从我使用 Notification Hub 升级到 Azure App Service 后,我测试了 toast 通知实际上已被缓存。
但是我找不到关于 Toasts 的任何缓存文档,也找不到如何确保缓存或可以缓存多少通知,最后缓存多长时间?
因此我想知道是否有人对缓存有任何了解以及它是如何指定的?上面 link 的示例:
X-WNS-Cache-Policy: cache | no-cache
但是这是怎么规定的呢?
更新
关于启用缓存的答案是正确的。尽管如此,我仍然不清楚 Notifications are cached 多长时间,link 说通知在合理的时间后被删除,那是什么?
此外,没有指定存储多少条通知,一个属性称为 link 的循环,这样如果使用相同标签缓存新消息,它将采用旧消息地方。但是没有提到可以存储多少个不同的标签,也没有提到如何启用或禁用循环?
最终每个 channel/user 可以缓存多少条消息?
Azure 通知中心未设置此 header 默认值。根据 WNS 文档,默认情况下启用缓存。
根据 WNS 文档,当设备处于离线状态时,默认情况下 WNS 将为每个频道 URI 存储最多五个磁贴通知(如果启用排队;否则,一个磁贴通知)和一个徽章通知,并且没有原始通知。可以通过 X-WNS-Cache-Policy header 更改此默认缓存行为。请注意,设备离线时永远不会存储 toast 通知。
要明确设置此 header,您可以使用 Notification Hub SendNotificationAsync API 发送通知。
示例:
词典 wnsHeaders = new Dictionary();
wnsHeaders.Add("X-WNS-Cache-Policy", “缓存” );
WindowsNotification notification = new WindowsNotification(“payload”, wnsHeaders);
等待客户。 SendNotificationAsync(通知);
我想实现一种确保用户收到通知的方法,例如
然而,当有很多人订阅一个标签时,这种方法的成功率有限,最终服务器时间也很长。
相反,我发现了这个 link caching Notifications。它特别指出无法缓存 toast 通知。尽管如此,自从我使用 Notification Hub 升级到 Azure App Service 后,我测试了 toast 通知实际上已被缓存。
但是我找不到关于 Toasts 的任何缓存文档,也找不到如何确保缓存或可以缓存多少通知,最后缓存多长时间?
因此我想知道是否有人对缓存有任何了解以及它是如何指定的?上面 link 的示例:
X-WNS-Cache-Policy: cache | no-cache
但是这是怎么规定的呢?
更新
关于启用缓存的答案是正确的。尽管如此,我仍然不清楚 Notifications are cached 多长时间,link 说通知在合理的时间后被删除,那是什么?
此外,没有指定存储多少条通知,一个属性称为 link 的循环,这样如果使用相同标签缓存新消息,它将采用旧消息地方。但是没有提到可以存储多少个不同的标签,也没有提到如何启用或禁用循环?
最终每个 channel/user 可以缓存多少条消息?
Azure 通知中心未设置此 header 默认值。根据 WNS 文档,默认情况下启用缓存。
根据 WNS 文档,当设备处于离线状态时,默认情况下 WNS 将为每个频道 URI 存储最多五个磁贴通知(如果启用排队;否则,一个磁贴通知)和一个徽章通知,并且没有原始通知。可以通过 X-WNS-Cache-Policy header 更改此默认缓存行为。请注意,设备离线时永远不会存储 toast 通知。
要明确设置此 header,您可以使用 Notification Hub SendNotificationAsync API 发送通知。 示例:
词典 wnsHeaders = new Dictionary();
wnsHeaders.Add("X-WNS-Cache-Policy", “缓存” );
WindowsNotification notification = new WindowsNotification(“payload”, wnsHeaders);
等待客户。 SendNotificationAsync(通知);