【问题标题】:Missing firebase_options.dart file in course "Get to know Firebase for Flutter"“了解 Firebase for Flutter”课程中缺少 firebase_options.dart 文件
【发布时间】:2022-01-21 01:46:21
【问题描述】:

我正在使用来自https://firebase.google.com/codelabs/firebase-get-to-know-flutter#4 的 Flutter 课程“Get to know 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';

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

谢谢。

【问题讨论】:

标签: firebase flutter


【解决方案1】:

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

从 Flutter 2.8 开始,有一种新方法可以在 Flutter 中初始化 Firebase 项目以绕过此步骤。

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

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

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

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

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

PD:更新到新的初始化方法后,Crashlytics 和 Analytics 停止为我工作,我不得不恢复到旧的初始化方法。我认为这种新方法还没有出现。 Guide for the old method.

【讨论】:

  • 是的,这产生了选项文件,你能推荐一个现有的包含简单 firebase CRUD 编码的颤振项目吗?谢谢。
  • 我没有尝试,但似乎足够好:Blog post tutorialGithub repo。他们使用旧的初始化,但代码没有过时
  • 我已尝试将示例项目与旧的初始化和新的初始化程序一起使用。我收到各种错误。例如,以下错误消息表明文件肯定位于正确的位置。文件 google-services.json 丢失。没有它,Google 服务插件将无法运行。搜索位置:/home/r/flutterfire-samples-crud-firestore/android/app/src/debug/google-services.json....应该有一个谷歌提供的简单的flutter firebase示例,只需要一些唯一的标识被添加到它。
【解决方案2】:

完成 Bugzilla 提供的说明后,我能够在 lib 目录中找到 firebase_options.dart 文件。我将导入路径从“firebase_options.dart”更改为“../firebase_options.dart”,它对我有用。

【讨论】:

    猜你喜欢
    • 2018-03-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2021-01-29
    • 1970-01-01
    • 2019-09-01
    • 2020-01-05
    • 2018-12-17
    相关资源
    最近更新 更多