什么是正确的方法来添加firebase分析到一个nextJS 13应用程序?大多数的文档或职位是nextJS v13应用程序/页面之前。我已经添加了一个firebase.ts文件,并添加了以下内容
"use client";
import { initializeApp } from "firebase/app";
import { getAnalytics } from "firebase/analytics";
import { firebaseConfig } from "./src/configs/firebase.config";
// Initialize Firebase
const app = initializeApp(firebaseConfig);
// Initialize Analytics and get a reference to the service
const analytics = getAnalytics(app);
export { app, analytics };
字符串
在我的一个布局组件中,我添加了这个useEffect
useEffect(() => {
if (typeof window !== "undefined") logEvent(analytics, "page_view");
}, []);
型
我在服务器中得到以下错误
@firebase/analytics:分析:此环境中不支持Firebase Analytics。将分析的初始化 Package 在analytics.isSupported()中,以防止在不支持的环境中进行初始化。详细信息:(1)Cookie不可用。(analytics/invalid-analytics-context)。
我已经尝试删除使用客户端,但我得到窗口未定义错误。如何在NextJS中正确添加firebase?
1条答案
按热度按时间z31licg01#
使用
isSupported
. from here这是一个提供给用户的公共静态方法,它 Package 了四种不同的检查:
1.检查它是否不是浏览器扩展环境。
1.检查当前浏览器中是否启用了Cookie。
1.检查浏览器环境是否支持IndexedDB。
1.检查当前浏览器上下文是否可用于使用IndexedDB.open()。
字符串