首页 > 解决方案 > FCM 通知适用于 Chrome,但不适用于 Firefox

问题描述

我完全无法让 FCM 通知在 Firefox 上运行,而它在 Chrome 上完美运行。

当我要求 Firebase SDK 返回当前的身份验证令牌时,承诺返回“null”,这意味着它无法获取它。主要是由于一些许可的东西。

console.log(Notification.permission);

打印“默认”,根据官方文档,与“拒绝”的含义相同。

如果我尝试使用firebase.messaging().requestPermission()权限请求的任何一个版本或浏览器版本,则承诺永远不会解决,并且我看不到任何请求权限的弹出窗口。

我的 manifest.json 确实在权限字段中包含“通知”。

我在 Firefox 上使用web-ext

我有点绝望,令人难以置信的是,让网络扩展工作如此困难。

谢谢

标签: javascriptgoogle-chromegoogle-chrome-extensionfirefox-addonfirebase-cloud-messaging

解决方案


Web 通知 API 的工作方式与 API 略有不同browser.notifications。为了使用NotificationsAPI,必须首先向用户请求权限,如这里示例所示。这是您在普通网页中会做的事情。

要在浏览器扩展中使用通知,您必须notifications在清单文件中设置权限,然后使用browser.notifications.create创建新通知。这不会提示用户弹出窗口要求允许通知,因为此权限已在清单文件中授予。


推荐阅读