打开 PWA 时接收推送事件时不显示通知



这是关于在 Pogressive Web Apps 中处理推送通知的最佳实践问题。

我目前正在开发一个包含聊天功能的 Web 应用程序。我添加了推送通知,以便用户每次收到新的聊天消息时都会收到通知(通过通知API(。这工作正常。但是,即使用户打开了聊天窗口,接收大量推送通知也不是一个好的用户体验。因此,如果用户打开了应用程序,我希望根本不显示通知。

我知道不通知用户传入推送是一个关键话题,例如 Chrome 希望我指定userVisibleOnly标志。这是不显示通知的有效例外,还是您认为我真的需要在每次推送传入时显示通知?如果是这样,我该如何处理我的问题?有人知道其他应用程序如何解决此问题吗?

补充:我可能会在Chromiums发布的一个文档中找到答案: https://docs.google.com/document/d/13VxFdLJbMwxHrvnpDm8RXnU41W2ZlcP0mdWWe9zXQT8/edit#

"每次服务工作者完成处理推送消息,但当前没有来自此源的通知可见,并且该源上没有打开和可见的页面时,我们都会检查从该源收到的过去 10 条推送消息中的任何一条是否也没有显示通知(并且没有来自源的页面打开和可见(。如果是这种情况,那么我们会代表站点显示通知,以便他们的用户可以了解它已运行。

[...]

*:(除了同源之外,它必须来自同一浏览器配置文件;但是,只要多功能框显示正确的域,就不需要成功加载,即错误页面计数(。

据我了解,在同一设备上打开应用程序时,允许不显示通知。

最新更新