我正在尝试在我的ReactJS应用程序中实现FCM推送通知。 它在chrome和Firefox浏览器中完美运行,但在Safari浏览器中面临问题。
Firebase 错误:消息传递:此浏览器不支持使用 Firebase SDK 所需的 API。(消息传递/不支持的浏览器(。
我还浏览了Firebase的文档,还发现它仅支持3个浏览器。
-
铬
-
火狐
-
野生动物园
是否有任何方法可以在野生动物园浏览器中支持。
我在 Safari 中遇到错误,因为不支持 FCM。
Firebase 提供一种内置方法来检查天气 FCM 是否支持。
if(firebase.messaging.isSupported()) {
messaging = initializedFirebaseApp.messaging();
messaging.usePublicVapidKey(
"Key"
);
}
Safari 11.1 已经支持serviceWorker
,但它仍然不支持 FCM Javascript API 也需要PushAPI
。
摘自 Firebase 文档 (https://firebase.google.com/docs/cloud-messaging/js/client(:
FCM JavaScript API 允许您在支持推送 API 的浏览器中运行的 Web 应用中接收通知消息。
以下是支持的浏览器列表: https://caniuse.com/#feat=push-api 指出 Safari 仍然不支持推送 API
来自 Firebase 文档:
FCM JavaScript API 允许您在提供 Service worker 支持的浏览器中运行的 Web 应用中接收通知消息。这包括以下浏览器:
铬: 50+
火狐: 44+
歌剧手机: 37+
似乎Safari(尚未(受支持。
初始化火力基础7.20.0+
import firebase from 'firebase/app'
import 'firebase/messaging'
const config = {
// download from firebase console
}
let messaging = null
if (firebase.messaging.isSupported()) {
firebase.initializeApp(config)
messaging = firebase.messaging()
} else {
console.log('no-support :(')
}