Push notification 我们可以轮询服务人员的通知吗

Push notification 我们可以轮询服务人员的通知吗,push-notification,service-worker,Push Notification,Service Worker,当使用ServiceWorker实现推送通知时,我们可以直接将通知推送到端点。但在我的网站上,通知是从外部API获取的。那么,我的服务人员是否有办法轮询通知,以便我可以确定是否存在新通知?如果您的web应用程序处于打开状态,您可以通过检查某些条件(轮询API等)然后使用来显示通知 这不需要服务人员。使用service worker+push事件触发通知意味着即使web应用程序关闭,也会显示通知,而且依靠监听push事件比反复轮询API更有效 理论上,除了注册侦听push事件的服务工作者之外,您还

当使用ServiceWorker实现推送通知时,我们可以直接将通知推送到端点。但在我的网站上,通知是从外部API获取的。那么,我的服务人员是否有办法轮询通知,以便我可以确定是否存在新通知?

如果您的web应用程序处于打开状态,您可以通过检查某些条件(轮询API等)然后使用来显示通知

这不需要服务人员。使用service worker+
push
事件触发通知意味着即使web应用程序关闭,也会显示通知,而且依靠监听
push
事件比反复轮询API更有效

理论上,除了注册侦听
push
事件的服务工作者之外,您还可以在web应用程序打开时使用轮询和显式调用Notifications API的组合。但是,如果您正在努力支持ServiceWorker用例,那么仅仅依靠ServiceWorker进行所有通知可能会更干净


这两种方法之间的一个区别是,在web应用程序关闭时(截至2017年8月)使用通知API比基于服务人员的推送通知更有效。

我的要求是即使应用程序关闭,也要显示推送通知。因此,我使用的是服务工作者,我得到的是从服务器推送的通知。我的问题是,我的应用程序中有一组从外部API获取的通知。我希望这些通知也被推送到客户端。因此,为所有用户获取这些通知集可能会很乏味。因此,我想,我将轮询服务工作者提供的外部API以获取新通知,并通知我的服务器,然后从我的服务器推送这些通知。这可能吗?在服务人员的
push
事件处理程序中,您可以使用
fetch
进行其他API调用,并获取有关您显示的特定通知的详细数据。因此,
push
可以“唤醒”软件,然后软件可以使用您想要显示通知的任何逻辑。唯一的限制是,在处理
push
事件时,通常应至少显示一个通知,但会稍微改变。