Ping服务人员,不显示通知

时间:2019-07-12 01:30:22

标签: javascript service-worker web-push

我正在尝试监视哪些服务人员处于活动状态(即哪些用户的浏览器处于打开状态)。我想出了一个解决方案,该解决方案通过Web推送API发送简单的ping,这将触发服务工作者向我的服务器发送ping请求。但是我发现,如果不向用户显示通知,我会收到来自Chrome的警报。

This site has been updated in the background 

我做错了什么,还是有另一种方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

不,您没有做错任何事情。这是设计使然。

无法使用Web Push API在后台联系Service Worker,并使系统不告诉用户。您正在描述一种被动跟踪系统,即使用户没有使用该产品,您仍可以在其中跟踪用户,并且该系统已经受到SW设计的限制。使用Web Push时,您应该显示自己的通知(该API用于通知),否则,浏览器将显示该通知。

我知道能够从服务器联系软件并让它运行一些功能会非常好,但是不幸的是,这也有可能引起一些麻烦。你也不能。保持打开状态的WebSocket(在SW中不可用)或计划将来执行任务以使其ping(不保证运行)。