Jef*_*f I 6 javascript firebase google-cloud-messaging
我可以很好地发送、查看和点击网络通知,而且没有任何问题。但是当我点击通知时控制台会产生这个
Uncaught FirebaseError: Messaging: Missing App configuration value: "projectId" (messaging/missing-app-config-values).
Run Code Online (Sandbox Code Playgroud)
projectId 肯定会传递给配置
Chrome 版本:版本 79.0.3945.130(官方版本)(64 位)
这是我配置firebase的方式:
var messaging;
if( firebase.messaging.isSupported() ){
var config = {
apiKey: "*************",
authDomain: "*************",
databaseURL: "*************",
projectId: "*************",
storageBucket: "*************",
messagingSenderId: "*************",
appId: "*************"
};
firebase.initializeApp(config);
messaging = firebase.messaging();
messaging.usePublicVapidKey("*************");
messaging.onMessage(function(payload) {
...
...
}
}
Run Code Online (Sandbox Code Playgroud)
还有我的 firebase-messeging-sw.js:
self.addEventListener('notificationclick', function(event) {
...
...
}
importScripts('https://www.gstatic.com/firebasejs/7.8.2/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/7.8.2/firebase-messaging.js');
firebase.initializeApp({'messagingSenderId': '***********'});
const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(function(payload) {
...
});
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您必须initializeApp() 在调用任何其他 Firebase API之前调用。您的代码首先调用firebase.messaging.isSupported()before initializeApp()。看起来您可能只想在 FCM 正常工作时初始化 Firebase,但这根本不受支持。我建议无条件初始化 Firebase。如果您实际上不使用任何 Firebase 产品,那么这样做的成本非常低。
| 归档时间: |
|
| 查看次数: |
6655 次 |
| 最近记录: |