Android Chrome 通知显示在托盘中,但不生成横幅

问题描述 投票:0回答:1

我正在构建一个 PWA,但这也适用于我生成的所有 chrome 通知 vai

showNotification

期望的行为是横幅与通知正文一起出现一会儿,然后消失。

发生的情况是,我收到通知声音,通知托盘中显示一个图标(顶部的小图标列表),并且当我向下滑动时,图标出现在通知中,但从未显示横幅。

这是我生成通知的简单方法:

fbsw.showNotification("TITLE",{body:"Body",icon:"/PWA/icon.png",requireInteraction: true});

我也在服务工作者程序中使用它

self.addEventListener('push', function(event) {
var data = event.data.json();
console.log("std push payload",data);
if ("data" in data) {
    data=data.data;
}
event.waitUntil(self.registration.showNotification(data.title, {body:data.body,icon:data.icon}));

});

我已经查看了 showNotifications 的所有选项,并尝试了任何我认为可能有效的选项,例如上面的

requireInteraction
,但没有成功。

我不确定这是 Android 版 Chrome 的问题还是我编写代码的方式的问题。我在两部不同的手机上测试过,问题是一样的。

android google-chrome notifications progressive-web-apps push
1个回答
0
投票

这个问题是由几个不同的问题引起的。

安装后,Android 上的 PWA 具有自己的通知设置,并且当通知事件通过与应用程序关联的 Service Worker 路由时,这些通知遵循该应用程序的规则。

但是,Firebase 云消息推送消息似乎会激活与 chrome 应用程序关联的自己的 Service Worker 版本。因此需要通过它修改设置才能看到横幅。

chrome>settings>Notifications>sites

启用“在屏幕上弹出”选项时,通知将生成横幅。

理想情况下,我会通过 PWA 发送通知,但我还没有弄清楚如何让它做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.