使用服务工作者实现推送通知时,我们可以直接将通知推送到端点。但在我的网站上,通知是从外部API获取的。那么我的服务工作者是否可以通过任何方式轮询通知,以便我可以确定是否存在新通知?
答案 0 :(得分:1)
如果您的网络应用程序已打开,您可以通过检查某些条件(轮询API等)然后使用Notifications API来显示通知。
这不需要服务人员。使用服务工作人员+ push
事件来触发通知意味着即使您的网络应用程序已关闭,您的通知也会显示,并且依靠监听push
事件与重复轮询更为有效API。
除了注册侦听push
事件的服务工作者之外,理论上您可以在Web应用程序打开时使用轮询和显式调用Notifications API的组合。但是,如果您正在努力支持服务工作者用例,那么仅依靠服务工作者来处理所有通知可能会更加清晰。
这两种方法之间的一个区别是,当您的Web应用程序为supported in more browsers时(截至2017年8月),使用Notifications API而不是基于服务工作者的推送通知。