我正在尝试在我的ReactJS应用程序中实现FCM推送通知。 它完全适用于chrome和firefox浏览器,但在safari浏览器中面临一个问题。
FirebaseError:消息:此浏览器不支持使用firebase SDK所需的API。 (消息/不支持的浏览器)。
我还浏览了firebase的文档,发现它只支持3个浏览器。
浏览器
火狐
Safari浏览器
是否有任何方法可以在safari浏览器中支持。
答案 0 :(得分:4)
我在Safari中遇到错误,因为不支持FCM。
Firebase提供一种内置方法来检查天气FCM是否受支持。
if(firebase.messaging.isSupported()) {
messaging = initializedFirebaseApp.messaging();
messaging.usePublicVapidKey(
"Key"
);
}
答案 1 :(得分:1)
Safari 11.1已经支持serviceWorker
,但仍不支持FCM Javascript API也需要的PushAPI
。
摘自Firebase文档(https://firebase.google.com/docs/cloud-messaging/js/client):
通过FCM JavaScript API,您可以在支持Push API的浏览器中运行的Web应用程序中接收通知消息。
以下是受支持的浏览器列表:https://caniuse.com/#feat=push-api指出Safari仍不支持Push API
答案 2 :(得分:0)
FCM JavaScript API允许您在提供服务工作者支持的浏览器中运行的Web应用程序中接收通知消息。这包括以下浏览器:
Chrome:50 +
Firefox:44 +
Opera Mobile:37 +
似乎尚未支持Safari。
答案 3 :(得分:0)
7.20.0 +
的初始化Firebaseimport 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 :(')
}