Где подходящее место для добавления Firebase.initializeApp() в Flutter?

#android #flutter #dart

#Android #flutter #dart

Вопрос:

Я очень новичок в flutter. Я следил за определенными курсами, но, перейдя на firebase, методы и свойства сильно изменились, и я столкнулся с некоторыми трудностями при выяснении, как подключиться к firebase. Здесь я добавил свой main.dart файл.

 import 'package:flash_chat/screens/cart_screen.dart';
import 'package:flash_chat/screens/stationery.dart';
import 'package:flutter/material.dart';
import 'package:flash_chat/screens/welcome_screen.dart';
import 'package:flash_chat/screens/login_screen.dart';
import 'package:flash_chat/screens/registration_screen.dart';
import 'package:flash_chat/screens/chat_screen.dart';
import 'package:flash_chat/screens/buyer_screen.dart';
import 'package:firebase_core/firebase_core.dart';

void main() => runApp(FlashChat());

class FlashChat extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: WelcomeScreen.id,
      routes: {
        WelcomeScreen.id: (context) => WelcomeScreen(),
        LoginScreen.id: (context) => LoginScreen(),
        RegistrationScreen.id: (context) => RegistrationScreen(),
        ChatScreen.id: (context) => ChatScreen(),
        BuyerScreen.id: (context) => BuyerScreen(),
        StationeryScreen.id: (context) => StationeryScreen(),
        CartScreen.id: (context) => CartScreen(),
      },
    );
  }
}
  

Нужно ли мне добавлять это в сам main.dart или где-то еще?

Ответ №1:

да, методы плагина firebase изменены, теперь вам нужно инициализировать firebase перед их использованием, я инициализирую метод firebase в файле main.dart внутри основной функции следующим образом.

 void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();

  runApp(FlashChat());
}