我遇到了一个问题,当没有运行Chrome应用程序时,无法在Android Chrome PWA上接收推送通知。我可以使用三个不同的公共Web Push示例进行复现。首先要问的是,Web Push示例是否应该与具有Web Push的PWA相同?也就是说,即使浏览器未运行,Android上的Web Push是否能够接收并显示通知。 文档似乎是肯定的。为什么下面的测试没有确认这一点。
问题描述
该问题不影响Firefox。还有其他帖子将类似的行为归因于消息的负载(数据和/或通知)或电池优化设置。更改这些变量似乎并没有改善我的情况。以下是使用在线示例之一复制问题的方法(感谢Carlos整理代码这里)。
复制步骤
在您的Android手机上打开Carlos 演示。接受通知权限并确保您可以向自己发送通知。
在另一台机器上打开相同的页面。确保您可以使用“立即发送给所有订阅者”功能向手机发送推送通知。
关闭Android设备上的所有Chrome应用程序。为了安全起见,关闭所有正在运行的应用程序,因为我发现很难确定是哪个应用程序在使用Chrome,我认为这使得很多之前的帖子/答案变得混乱。
在第二台机器上重复步骤2。您不应该在Chrome上收到通知。
一旦您确信消息没有到达,请打开任何一个Chrome应用程序。几秒钟后,您应该会收到通知。
在Android上使用Firefox重复以上所有步骤,您将在第4步中收到通知。
你可以在这里或这里运行类似的测试。