如果浏览器关闭,Google Chrome推送通知无法正常工作?

时间:2016-08-19 08:57:09

标签: javascript google-chrome push-notification service-worker progressive-web-apps

编写here即使浏览器已关闭,推送通知仍然有效,但我测试了它,但情况并非如此。只有在浏览器处于打开状态时才会收到推送通知(无论特定网页是否打开都无关紧要)。

我在chrome for Desktop& amp;适用于Android的chrome(更新到最新版本后)。

我的问题是: - 如果浏览器打开,推送通知是否有效?

注意: - 我使用this进行测试。

8 个答案:

答案 0 :(得分:10)

根据Can I Use,Chrome和Firefox桌面浏览器要求浏览器运行以接收推送通知;移动浏览器通常不会。

答案 1 :(得分:2)

即使在浏览器关闭或设备离线等情况下发送消息,这些消息也应该(最终)通过。(这对我来说可以使用https://gauntface.github.io/simple-push-demo/和其他测试。)

答案 2 :(得分:1)

在桌面设备上,浏览器需要运行流程。例如,在Mac OS X上,浏览器无法打开窗口,但如果您查看底座,则图标下方的灯光可能会发光(这意味着它正在运行一个进程)。在该场景中,您应该收到推送消息。

如果浏览器完全退出,那么推送消息将无法通过。

这同样适用于Windows和Linux。

在Android上,无论浏览器是否打开,您都应该收到消息。这部分(据我所知)是android管理它与推送服务而不是浏览器的连接这一事实,因此它会尽可能地接收消息。

答案 3 :(得分:1)

在桌面上,浏览器需要运行,因为这是接收推送消息的过程。某些扩展程序(如环聊)会强制浏览器继续运行,即使最后一个标签页已关闭,因此对于安装了此类扩展程序的用户,也会一直运行。

在Android上,浏览器不需要运行,因为负责接收邮件的实体会被烘焙到Google Play服务中。

Chrome小组正在处理https://bugs.chromium.org/p/chromium/issues/detail?id=402456

中的桌面问题

答案 4 :(得分:1)

如果允许Chrome在后台运行(可在设置中配置),则可以在background script可以运行的Chrome扩展程序中编写。它也可以use GCM

编辑:

即使没有打开标签页或窗口,服务工作者也必须在后台运行,且必须至少安装一个具有background权限的Chrome扩展程序,并且必须允许Chrome在后台运行应用程序。在Linux上测试过。

答案 5 :(得分:1)

我从事演示工作,以在Google Chrome和Firefox上提供推送通知。演示-> https://twitter.com/d_danailov/status/1163824171480166400

如果有人有问题可以在Twitter上将我ping通。

公共网址:https://push-notifications-ddanailov.firebaseapp.com/

回购:https://github.com/dimitardanailov/push-notifications

Push notifications

答案 6 :(得分:1)

打开设置(chrome)

执行以下操作:

> advanced 
    > system >
        "continue running background apps when chrome is closed" 
             >enable

答案 7 :(得分:0)

是的,其他用户是正确的,并且如果浏览器处于关闭状态,则无法在Windows上接收他们。除非浏览器在后台运行,某些Chrome应用和扩展程序可能会强制执行。我最近遇到了这个问题,发现了这个扩展名,我认为这可能会有所帮助。即使关闭了窗口,它也可以使浏览器在后台运行,但是除此之外,它什么也不做(它是开源的,并且大概上传到Chrome商店的版本与该版本匹配)

https://chrome.google.com/webstore/detail/lightning-reopen/ahphokgmcecbjeipkfkamcdmemghkaph