next.js 服务消息在FCM v9中不可用

4xy9mtcn  于 2023-01-17  发布在  其他
关注(0)|答案(1)|浏览(135)

每当我保存firebase.js配置文件时都会出现此错误。我无法在Firebase V9中使用Firebase云消息传递。
我的firebase.js配置

import { initializeApp, getApps, getApp } from "firebase/app";
import { getFirestore } from "firebase/firestore";
import { getStorage } from "firebase/storage";
import { getMessaging } from "firebase/messaging";

const firebaseConfig = {
  apiKey: process.env.FIREBASE_API_KEY,
  authDomain: process.env.FIREBASE_AUTHDOMAIN,
  projectId: process.env.FIREBASE_PROJECTID,
  storageBucket: process.env.FIREBASE_STORAGEBUCKET,
  messagingSenderId: process.env.FIREBASE_MESSAGINGSENDERID,
  appId: process.env.FIREBASE_APPID,
};

const app = !getApps().length ? initializeApp(firebaseConfig) : getApp();
const db = getFirestore();
const storage = getStorage();
const messaging = getMessaging(app); // error on this line

export { app, db, storage, messaging };
u5rb5r59

u5rb5r591#

我也遇到了同样的问题,原来是因为Nextjs中的Firebase V9。
解决方案是将你的firebase版本降级到v8。
请注意,firebase v8的语法与v9不同。
要更改为[例如] v8.10,您首先需要卸载当前的firebase版本:

npm uninstall firebase

然后添加firebase v8.10:

npm i firebase@8.10.0

相关问题