Ошибка: Firebase не настроен. Убедитесь, что вы правильно настроили google-services.json.
После запуска
expo install expo-firebase-core expo-firebase-analytics
и скачиваю оба
google-services.json
а также
GoogleService-Info.plist
из консоли firebase и поместить их в корень моего проекта.
Когда я вызываю Analytics.logEvent, expo go выдает ошибку.
Possible Unhandled Promise Rejection (id: 0):
Error: Firebase is not configured. Ensure that you have configured 'google-services.json' correctly.
это мой TopLevelComponent.js:
import React from 'react'
import * as Analytics from 'expo-firebase-analytics';
import { createRootNavigator } from './router'
const RootNavigator = createRootNavigator()
const TopLevelComponent = props => {
const { screenProps } = props;
const { checkLogin } = screenProps;
const getActiveRouteName = navigationState => {
if (!navigationState) {
return null
}
const route = navigationState.routes[navigationState.index]
// Parse the nested navigators
if (route.routes) return getActiveRouteName(route)
return route.routeName
}
return (
<RootNavigator
onNavigationStateChange={async (prevState, currentState) => {
const currentScreen = getActiveRouteName(currentState)
const prevScreen = getActiveRouteName(prevState)
if (prevScreen !== currentScreen) {
checkLogin()
Analytics.logEvent('event')
}
}}
screenProps={props.screenProps}
/>
);
}
export default TopLevelComponent
Я пропустил какую-либо другую конфигурацию?
Есть ли другой способ настроить firebase-analytics, кроме этих файлов?
я использую
expo-44.0.6
а также
expo-firebase-analytics-6.0.1
3 ответа
У меня была такая же ошибка. Вот как я это исправил:
- Перейдите в app.js и добавьте
"googleServicesFile": "./GoogleService-Info.plist"
в разделе «iOS». пример:
"expo": {
"name": "",
"slug": "",
"version": "",
"orientation": "",
"icon": "",
"splash": {
"image": "",
"resizeMode": "",
"backgroundColor": ""
},
"updates": {
"fallbackToCacheTimeout":
},
"assetBundlePatterns": [
"**/*"
],
"ios": {
"supportsTablet":,
"bundleIdentifier": "",
"googleServicesFile": "./GoogleService-Info.plist"
},
Аналогично для Android:
"android": { "googleServicesFile": "./google-services.json", "adaptiveIcon": { "foregroundImage": "", "backgroundColor": "" }
Добавьте это для раздела «Интернет»:
"web": { "config": { "firebase": { "apiKey": "", "authDomain": "", "projectId": "", "storageBucket": "", "messagingSenderId": "", "appId": "", "measurementId": "G-**********" } }, "favicon": "./assets/favicon.png" }
Затем в приложении:
import * as Analytics from 'expo-firebase-analytics';
const pageView = async (routeName, params) => { await Analytics.logEvent(routeName, params); };
У меня была такая же ошибка. В моем случае я использовал рабочий процесс Expo Bare с SDK 45.
Я добавляю эту строку только в свой android/build.gradle
dependencies {
classpath("com.android.tools.build:gradle:4.1.0")
classpath 'com.google.gms:google-services:4.3.10' /* Add this line */
}
И в android/app/build.gradle в верхнем файле
apply plugin: "com.android.application"
apply plugin: 'com.google.gms.google-services' /* Add this line */
Очистите проект и запустите: production npx react-native run-android
Это работает для меня :)
У меня возникла аналогичная проблема с подключением к аналитике в Firebase. У меня были все упомянутые выше конфигурации для веба и ios. Я хотел настроить аналитику для своего выставочного приложения и использовать толькоexpo-firebase-analytics
библиотека. Я тестировал соединение с симулятором ios.
Моя проблема была просто решена путем добавления второго приложения в мою Firebase для платформы ios. GoogleService-Info.plist
файл был автоматически сгенерирован в Firebase и доступен для загрузки и размещения в моем проекте.
Изначально я добавил приложение в свою Firebase только для веб-платформы, поэтому мне не удалось установить соединение между симулятором ios и аналитикой в Firebase.