You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo React Native集成Firebase Analytics报错:未初始化DEFAULT应用

解决Expo React Native中Firebase Analytics初始化报错问题

问题根源

你碰到的Error: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()错误,核心原因是Firebase核心实例未完成正确初始化。Expo环境下使用@react-native-firebase有专属配置要求,不能直接套用纯React Native的官方示例。

具体解决步骤

1. 安装Expo Firebase依赖包

先补上Expo官方的Google服务集成工具:

npx expo install expo-google-services

2. 配置Firebase平台服务文件

  • 从Firebase控制台下载对应平台的配置文件:安卓端google-services.json、iOS端GoogleService-Info.plist
  • 将文件放到项目根目录
  • 在app.json或app.config.js的expo字段中添加配置:
{
  "expo": {
    "android": {
      "googleServicesFile": "./google-services.json"
    },
    "ios": {
      "googleServicesFile": "./GoogleService-Info.plist"
    }
  }
}

3. 手动初始化Firebase核心实例

在App组件中添加初始化逻辑,避免重复初始化:

import React, { useEffect } from 'react';
import { View, Button } from 'react-native';
import analytics from '@react-native-firebase/analytics';
import firebase from '@react-native-firebase/app';

// 替换成你从Firebase控制台获取的项目专属配置
const firebaseConfig = {
  apiKey: "你的API_KEY",
  authDomain: "你的AUTH_DOMAIN",
  projectId: "你的PROJECT_ID",
  storageBucket: "你的STORAGE_BUCKET",
  messagingSenderId: "你的MESSAGING_SENDER_ID",
  appId: "你的APP_ID",
  measurementId: "你的MEASUREMENT_ID"
};

function App() {
  useEffect(() => {
    // 检查是否已有初始化实例,防止重复执行初始化
    if (!firebase.apps.length) {
      firebase.initializeApp(firebaseConfig);
    }
  }, []);

  return (
    <View>
      <Button
        title="Check analy"
        onPress={async () =>
          await analytics().logSelectContent({
            content_type: 'clothing',
            item_id: 'abcd',
          })
        }
      />
    </View>
  );
}

export default App;

4. 清除缓存并重启项目

执行命令清除Expo缓存,避免旧配置干扰:

npx expo start -c

内容的提问来源于stack exchange,提问作者shabas 001

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:48:03