У меня есть база данных firebase, связанная с двумя приложениями, одно из которых является приложением для iOS, а другое - веб-приложением, закодированным в node.js, который является базовым алгоритмом, который устанавливает данные в базу данных. Когда я запускаю алгоритм, я сталкиваюсь с-

Ошибка: не создано приложение Firebase «[ПО УМОЛЧАНИЮ]» - вызовите Firebase. App.initializeApp (). при ошибке (родной) в R (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:22:335) в (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:20:68) в Object.c [как база данных] (/Users/dd/Desktop/Code/NODE/node_modules/firebase/app-node.js:21:447) на объекте. (/Users/dd/Desktop/Code/NODE/Bot.js:24:25) в Module._compile (module.js: 570: 32) в Object.Module._extensions..js (module.js: 579: 10) в Module.load (module.js: 487: 32) в tryModuleLoad (module.js: 446: 12) в Function.Module._load (module.js: 438: 3) в Module.runMain (module.js: 604: 10) при запуске (bootstrap_node.js: 394: 7) при запуске (bootstrap_node.js: 149: 9) в bootstrap_node.js: 509: 3 dd-mac: NODE dd $

Может ли кто-нибудь помочь?

Ответы (18)

Вероятно, вы вызываете firebase перед инициализацией приложения. Все вызовы на firebase должны приходить после .initializeApp ();

firebase.initializeApp (конфигурация);
var db = firebase.firestore ();

Флаттерная паутина

У меня ошибка возникла при запуске приложения в "релизном" режиме

flutter run -d chrome --release

и когда я развернул приложение на хостинге Firebase

развертывание firebase

Решение

Поскольку я инициализировал Firebase в index.html, мне пришлось изменить порядок реализации firebase и main.dart.js



//moved below firebase init

Я нашел решение!

Выполните следующие действия:

Проблема Flutter Firebase и Android - невозможно инициализировать. Не удается найти google-services.json с выполненными последними инструкциями по миграции

После этого выполните:

flutter build apk --debug
flutter build apk --profile
flutter build apk --release

, а затем запустите приложение! у меня работает!

Я думаю, что эта ошибка возникла из-за того, что вы используете компонент класса в соответствующей платформе React Platform, которая не имеет правильной конфигурации. Итак, вы пишете конфигурацию в componentWillMount ().

componetWillMount() {
const config = {
apiKey: “xxxxxxxxxxxxxxxxxxxxxxxx”,
authDomain: “auth-bdcdc.firebaseapp.com 20”,
databaseURL: “https://auth-bdcdc.firebaseio.com 7”,
projectId: “auth-bdcdc”,
storageBucket: “auth-bdcdc.appspot.com 2”,
messagingSenderId: “xxxxxxxxxx”
};

Это может быть не лучший ответ, но мне пришлось инициализировать приложение с помощью администратора и firebase, как показано ниже. Я использую admin в своих целях, а также firebase.

const firebase = require("firebase");
const admin = require("firebase-admin");

admin.initializeApp(functions.config().firebase);
firebase.initializeApp(functions.config().firebase);
// Get the Auth service for the default app
var authService = firebase.auth();

 function createUserWithEmailAndPassword(request, response) {
        const email = request.query.email;
        const password = request.query.password;
        if (!email) {
            response.send("query.email is required.");
            return;
        }
        if (!password) {
            response.send("query.password is required.");
            return;
        }
        return authService.createUserWithEmailAndPassword(email, password)
            .then(success => {
                let responseJson = JSON.stringify(success);
                console.log("createUserWithEmailAndPassword.responseJson", responseJson);
                response.send(responseJson);
            })
            .catch(error => {
                let errorJson = JSON.stringify(error);
                console.log("createUserWithEmailAndPassword.errorJson", errorJson);
                response.send(errorJson);
            });
    }

Если вы запускаете приложение response-native и видите эту проблему, вам необходимо следовать всем инструкциям, указанным в firebase (при установке приложения iOS / android) или инструкциям @ React-native google auth android DEVELOPER_ERROR Код 10 вопрос

enter image description here

Ответ может быть уже где-то дан, но вот мой подход к этой ошибке, которая может возникать по нескольким причинам:

  1. Приложение по умолчанию инициализируется после другого. Правильный способ - сначала инициализировать приложение по умолчанию, а затем остальные.
  2. firebase.apps.app () вызывается перед инициализацией приложения по умолчанию. Этот код в основном возвращает экземпляр приложения по умолчанию. Так как его нет, значит и ошибка.
  3. Наконец, перед инициализацией приложения вы инициализируете другие службы firebase, такие как auth, database, firestore и т. Д.

ВЫ НАЗЫВАЕТЕ ЭТО В JADE: firebase.initializeApp (config); В НАЧАЛЕ ФУНКЦИИ

script.
    function signInWithGoogle() {
        firebase.initializeApp(config);
        var googleAuthProvider = new firebase.auth.GoogleAuthProvider
        firebase.auth().signInWithPopup(googleAuthProvider)
        .then(function (data){
            console.log(data)
        })
        .catch(function(error){
            console.log(error)
        })
    }

Моя проблема заключалась в том, что я добавил второй параметр:

AngularFireModule.initializeApp(firebaseConfig, 'reservas')

если я удалю второй параметр, он будет работать нормально:

AngularFireModule.initializeApp(firebaseConfig)

Полное руководство источник ссылка

Используйте initializeApp перед @ NgModule

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';

import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';

import { AppComponent } from './app.component';
import { AppRoutingModule } from './app-routing.module';
import { environment } from 'src/environments/environment';
import { AuthenticateService } from './services/authentication.service';
import { AngularFireAuthModule } from '@angular/fire/auth';

import * as firebase from 'firebase';

firebase.initializeApp(environment.firebase);

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [
    BrowserModule, 
    IonicModule.forRoot(), 
    AppRoutingModule,
    AngularFireAuthModule
  ],
  providers: [
    StatusBar,
    SplashScreen,
    AuthenticateService,
    { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

У меня была такая же проблема. Когда я попытался добавить свое веб-приложение flutter в firebase, я взял теги Script, которые Google дал мне в процессе установки, и вставил их в свой index.html. Это не сработало для меня даже ПОСЛЕ того, как я изменил свой файл main.dart следующими строками в основном методе:

WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());

Используя скрипт в формате, размещенном здесь, я получил его работоспособность: https://firebase.flutter.dev/docs/installation/web

Если есть другие люди, у которых такая же проблема, и слепое копирование тегов скрипта, которые Google дает вам в настройке Firebase .... это помогло мне. Просто перенесите его в формат, опубликованный FlutterFire.

другое решение здесь.

использовать APP_INITIALIZER

https://angular.io/api/core/APP_INITIALIZER

export function appInitializer() {
  return () => firebase.initializeApp(firebaseConfig);
}

...
@NgModule({
 ...
 providers: [{
   provide: APP_INITIALIZER,
   useFactory: () => appInitializer
   multi: true
  }]
 })
export class AppModule {}

Используйте приложение Initialize в app.module.ts

импорт {окружение} из 'src / environments / environment';
firebase.initializeApp (environment.firebase);

Это сбросит ошибку.
Вы можете использовать firebase.database () без ошибок

У меня была аналогичная проблема после онлайн-руководства Firebase, найденного здесь.

Заголовок раздела «Инициализировать несколько приложений» вводит в заблуждение, поскольку первый пример под этим заголовком фактически демонстрирует, как инициализировать одно приложение по умолчанию. Вот указанный пример:

// Initialize the default app
var defaultApp = admin.initializeApp(defaultAppConfig);

console.log(defaultApp.name);  // "[DEFAULT]"

// Retrieve services via the defaultApp variable...
var defaultAuth = defaultApp.auth();
var defaultDatabase = defaultApp.database();

// ... or use the equivalent shorthand notation
defaultAuth = admin.auth();
defaultDatabase = admin.database();

Если вы переходите с предыдущего SDK 2.x, вам нужно будет обновить способ доступа к базе данных, как показано выше, иначе вы получите сообщение об ошибке No Firebase App '[DEFAULT]' .

У Google есть лучшая документация:

  1. ИНИЦИАЛИЗАЦИЯ: https://firebase.google.com/docs/database/admin/start

  2. СОХРАНИТЬ: https://firebase.google.com/docs/database/admin/save-data

  3. ПОЛУЧИТЬ: https://firebase.google.com/docs/database/admin/retrieve-data

Если вы реагируете на родной и разрабатываете для IOS, то я думаю, вы забыли шаги связывания модуля firebase.

выполните следующие действия ..!

откройте файл / ios / {projectName} /AppDelegate.m и добавьте следующее:

В верхней части файла импортируйте Firebase SDK:

#import 

В существующем методе didFinishLaunchingWithOptions добавьте следующее в начало метода:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Add this  --- \/
  if ([FIRApp defaultApp] == nil) {
    [FIRApp configure];
  }
  // Add me --- /\
  // ...
}

Если вы используете Dart и Flutter

  1. добавить зависимость firebase_core в pubspac.ymal.
  2. перейти на main.dart
  3. импорт 'пакет: firebase_core / firebase_core.dart';

4. добавить async в main ()

следуй моему коду

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  var fsconnect = FirebaseFirestore.instance;

  myget() async {
    var d = await fsconnect.collection("students").get();
    // print(d.docs[0].data());

    for (var i in d.docs) {
      print(i.data());
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
      appBar: AppBar(
        title: Text('Firebase Firestore App'),
      ),
      body: Column(
        children: [
          RaisedButton(
            child: Text('send data'),
            onPressed: () {
              fsconnect.collection("students").add({
                'name': 'sarah',
                'title': 'xyz',
                'email': 'sarah@gmail.com',
              });
              print("send ..");
            },
          ),
          RaisedButton(
            child: Text('get data'),
            onPressed: () {
              myget();
              print("get data ...");
            },
          )
        ],
      ),
    ));
  }
}

Эта ошибка возникает из-за того, что вы пытаетесь использовать функцию firebase до того, как она будет успешно инициализирована

Фикс:

Поместите функцию, которую вы хотите вызвать, внутри блока setInterval так, чтобы функция вызывалась только после инициализации приложения:

 let isFirebaseAppDefined = false;
    setInterval(() => {
      if (!isFirebaseAppDefined) {
        if (firebase.app()) {

          // Function that needs to run after the initialisation comes here
          // Example re-captcha verifier or other auth function

          isFirebaseAppDefined = true;
        }
      }
    }, 100);

Та же ошибка при работе с iOS. Надеюсь, вы уже установили Firebase с помощью модулей. Вам необходимо сделать следующее. Откройте Xcode, откройте файл AppDelegate.m и импортируйте

#import "FIRApp.h"

Теперь вызовите метод конфигурации в методе делегата didFinishLaunchingWithOptions

  [FIRApp configure];

Теперь запустите ваше приложение. Он должен работать. Вот doc ссылка

2022 WebDevInsider