Когда я пытаюсь запустить этот код на android, я получаю ошибку FirebaseApp name [DEFAULT] already exists!
В этой теме , он говорит, что firebaseApp инициализируется при запуске приложения, но тогда почему вы можете вызвать initializeApp, например в этой теме ? Кажется, что мой код функционально похож на код во втором потоке, так почему я получаю ошибку? Он отлично работает на iOS, поэтому я полностью потерян. Что я пропустил?
Редактировать: Забыл упомянуть, что все значения testConfig хранятся в файле .env, доступ к которому осуществляется из библиотекиact-native-config.
Редактировать 2: Изменение firebase.initializeApp(testConfig);
на firebase.initializeApp(testConfig, 'fire');
исправляет android, но ломает ios, вызывая ошибку No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()
Код:
import firebase from '@react-native-firebase/app';
import '@react-native-firebase/auth'; // for authentication
import '@react-native-firebase/storage'; // for storage
import '@react-native-firebase/firestore'; // for cloud firestore
import '@react-native-firebase/functions'; // for cloud functions
import '@react-native-firebase/messaging'; // for cloud messaging
import Config from 'react-native-config'
const testConfig = {
apiKey: Config.REACT_APP_FIREBASE_TEST_API_KEY,
authDomain: Config.REACT_APP_FIREBASE_TEST_AUTH_DOMAIN,
databaseURL: Config.REACT_APP_FIREBASE_TEST_DATABASE_URL,
projectId: Config.REACT_APP_FIREBASE_TEST_PROJECT_ID,
storageBucket: Config.REACT_APP_FIREBASE_TEST_STORAGE_BUCKET,
messagingSenderId: Config.REACT_APP_FIREBASE_TEST_MESSAGING_SENDER_ID,
appId: Config.REACT_APP_FIREBASE_TEST_APP_ID,
measurementId: Config.REACT_APP_FIREBASE_TEST_MEASUREMENT_ID
};
const fire = firebase.initializeApp(testConfig);
Logcat:
2020-04-16 11:05:17.269 25458-25543/com.nativeminutetech E/unknown:ReactNative: Exception in native call
java.lang.IllegalStateException: FirebaseApp name [DEFAULT] already exists!
at com.google.android.gms.common.internal.Preconditions.checkState(Unknown Source:29)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@19.3.0:295)
at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@19.3.0:268)
at io.invertase.firebase.common.RCTConvertFirebase.readableMapToFirebaseApp(RCTConvertFirebase.java:97)
at io.invertase.firebase.app.ReactNativeFirebaseAppModule.initializeApp(ReactNativeFirebaseAppModule.java:55)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:164)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
at java.lang.Thread.run(Thread.java:764)