簡體   English   中英

Firebase 盡管調用了 Firebase.initializeApp() 但仍未初始化

[英]Firebase not initializing despite calling Firebase.initializeApp()

我正在編寫我的第一個 Flutter 並嘗試建立與 Firebase 的連接。我已經按照官方網站上的說明使用 Firebase 注冊了我的應用程序。 我在 .yaml 文件中添加了 core 和 auth 包,更新了 build.gradle 文件並將它們導入到我的源代碼中。 然后我通過在啟動應用程序之前調用正確的方法來初始化 Firebase。 每當我嘗試匿名登錄時,都會收到錯誤消息:

[錯誤:flutter/lib/ui/ui_dart_state.cc(209)] 未處理的異常:[core/no-app] No Firebase App '[DEFAULT]' 已創建 - 調用 Firebase.initializeApp()

我真的不知道發生了什么,因為我認為我正在根據 FlutterFire 文檔調用該方法。 這是我的 main.dart 文件:

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:roomie/views/sign_in_page.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Roomie',
      theme: ThemeData(
        primarySwatch: Colors.pink,
      ),
      home: SignInPage(),
    );
  }
}

這是我的登錄方法。 每當我按下登錄按鈕時,我都會收到 Firebase 尚未初始化的錯誤消息:

import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';

class SignInPage extends StatelessWidget {

  Future<void> _signInAnonymously() async {
    final userCredentials = await FirebaseAuth.instance.signInAnonymously();
    print(userCredentials.user!.uid.toString());
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Roomie'),
        elevation: 2.0,
      ),
      body: _buildContent(),
      backgroundColor: Colors.grey[200],
    );
  }

  Widget _buildContent() {
    return Padding(
      padding: EdgeInsets.all(16.0),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.stretch,
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Text(
            'Sign In',
            textAlign: TextAlign.center,
            style: TextStyle(
              fontSize: 26.0,
              fontWeight: FontWeight.w500,
            ),
          ),
          SizedBox(
            height: 50.0,
            child: ElevatedButton(
              onPressed: _signInAnonymously,
              child: Text(
                'Sign in anonymously',
                style: TextStyle(
                  color: Colors.black87,
                ),
              ),
              style: ElevatedButton.styleFrom(
                primary: Colors.white,
                shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(50),
                ),
              ),
            ),
          ),
        ],
      ),
    );
  }
}
  1. 我認為要么是您沒有將 google_services.json 文件放在正確的路徑中。 確保文件放在android目錄下的app目錄下。

  2. 您是否在 Firebase 控制台中啟用了身份驗證。 檢查您的項目控制台,單擊身份驗證,並確保在“登錄方法”中啟用您選擇的身份驗證方法。

火力控制台

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM