“了解 Firebase for Flutter”课程中缺少 firebase_options.dart 文件

ubn*_*ewb 15 firebase flutter

我正在使用https://firebase.google.com/codelabs/firebase-get-to-know-flutter#4中的 flutter 课程“了解 Firebase for Flutter” 。

我在 step_02 中,并且添加了第 5 阶段中的以下推荐代码。


import 'package:firebase_auth/firebase_auth.dart'; // new
import 'package:firebase_core/firebase_core.dart'; // new
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';           // new

import 'firebase_options.dart';                    // new
import 'src/authentication.dart';                  // new
import 'src/widgets.dart';
Run Code Online (Sandbox Code Playgroud)

此阶段稍后有一个“测试”部分。但是它失败了,因为没有 firebase_options.dart 文件。我如何生成这个文件。

谢谢。

Bug*_*lla 36

以前,您必须从 Firebase 控制台下载google-service.json和文件,并将它们放置在 Flutter 应用程序的 android 和 ios 文件夹中。GoogleService-Info.plist

从 Flutter 2.8 开始,有一种新方法可以在 Flutter 中初始化 Firebase 项目,以自动化设置,为您添加必要的库android/和文件。ios/

  1. 在 Firebase 控制台中创建项目,但不需要下载提到的文件或更改 build.gradle 文件
  2. 在此处安装 Firebase CLI
  3. dart pub global activate flutterfire_cli在您的 Flutter 项目中运行
  4. 跑步flutterfire configure

这将启动一个命令行界面,供您选择要链接到 Flutter 项目的 Firebase 项目。完成此操作后,firebase_options.dart将在您的文件夹中生成一个文件lib/

最后,在您的中初始化 Firebase main.dart

import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

void main() async {
    WidgetsFlutterBinding.ensureInitialized();
    await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
    runApp(MyApp());
} 
Run Code Online (Sandbox Code Playgroud)


Sha*_*tim 9

Flutter 使用 Flutter 应用成功配置 Firebase 项目后,会自动生成 firebase_option 文件。对于 Android,请确保已将 google-services.json 文件添加到 Android>app 根目录中;对于 ios,请确保将 GoogleService-info.plist 文件添加到 Xcode 项目的根目录以及所有目标中。

如果您仍然遇到问题,我建议直接从终端使用 Firebase CLI 来配置您的 Firebase 项目。

  1. 从项目根终端,命令:

      $ flutterfire configure   
        // This requires the Firebase CLI to work.
    
    Run Code Online (Sandbox Code Playgroud)
  2. 按 Return 或 Enter 键选择 Firebase 项目。接下来,系统会要求您选择配置应支持的平台,例如 android、ios、web。如果您尚未在 firebase 控制台中创建其中一些,请不要担心,因为它会在此步骤中为您创建并注册它并更新 android build.gradle 文件。

** 如果您已经安装了 firebase_core 插件,请继续执行步骤 4。**

  1. 从项目根目录运行以下命令来安装最新版本的 firebase_core 插件:

     $ flutter pub add firebase_core  
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将导入添加到主文件:

     import 'package:firebase_core/firebase_core.dart'; // 
     import 'firebase_options.dart'; // Generated file
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更新您的 main 函数以使用此异步函数初始化 firebase:

      Future<void> main() async {
       WidgetsFlutterBinding.ensureInitialized();
       await Firebase.initializeApp(options: 
       DefaultFirebaseOptions.currentPlatform);
       runApp(const YourAppName());
      }
    
    Run Code Online (Sandbox Code Playgroud)
  4. 如果您之前安装过 google-services.json 和 google.plist 文件,请删除它们。

  5.    $ flutter clean 
       $ flutter run
    
    Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅 FlutterFire 文档。