无通知API的推送API

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

我正在使用 Firebase 云消息传递 (FCM)。但同样的问题也出现在 FirebaseJS 中。

我想仅使用推送 API 来执行浏览器内消息,而不需要任何通知 API。为了在消息传递上使用 getToken(),它似乎还需要通知 API 支持。我想要获取用于推送 API 的令牌,但不需要通知 API 支持。这可能吗?

当我在服务工作线程上下文中调用 Message 上的 getToken() 时,它总是响应与通知相关的错误。再说一遍,我不需要通知 API 支持。只需推送消息 API。

我使用的代码非常基本:

getToken(fbMessaging, { vapidKey: '..' })

这样产生的错误是:

“引用错误:找不到变量:通知”。 <--- I don't want to even try to use Notification API.

注 1:任何对 getToken() 的调用本质上都会调用 requestPermission()。意思是,我不必单独调用它。

注2:一般来说,我只会在不支持Notification API的浏览器上收到此错误。但这就是重点/问题。我不想需要通知 API 支持。

注 3:这些绝对是不同的 API。

firebase push-notification notifications firebase-cloud-messaging web-push
1个回答
0
投票

目前(2024 年 4 月)Push API 仅用于可见通知。

您问的是静默推送,多年来很多人都要求这样做,但从未被允许。

您需要通知权限,并且在收到推送消息时还必须显示通知,否则您会被某些浏览器阻止(例如 Chrome 会显示默认通知来通知用户,而 Apple 会直接撤销您的推送订阅!) .

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