我正在使用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/
dart pub global activate flutterfire_cli
在您的 Flutter 项目中运行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)
Flutter 使用 Flutter 应用成功配置 Firebase 项目后,会自动生成 firebase_option 文件。对于 Android,请确保已将 google-services.json 文件添加到 Android>app 根目录中;对于 ios,请确保将 GoogleService-info.plist 文件添加到 Xcode 项目的根目录以及所有目标中。
如果您仍然遇到问题,我建议直接从终端使用 Firebase CLI 来配置您的 Firebase 项目。
从项目根终端,命令:
$ flutterfire configure
// This requires the Firebase CLI to work.
Run Code Online (Sandbox Code Playgroud)
按 Return 或 Enter 键选择 Firebase 项目。接下来,系统会要求您选择配置应支持的平台,例如 android、ios、web。如果您尚未在 firebase 控制台中创建其中一些,请不要担心,因为它会在此步骤中为您创建并注册它并更新 android build.gradle 文件。
** 如果您已经安装了 firebase_core 插件,请继续执行步骤 4。**
从项目根目录运行以下命令来安装最新版本的 firebase_core 插件:
$ flutter pub add firebase_core
Run Code Online (Sandbox Code Playgroud)
将导入添加到主文件:
import 'package:firebase_core/firebase_core.dart'; //
import 'firebase_options.dart'; // Generated file
Run Code Online (Sandbox Code Playgroud)
更新您的 main 函数以使用此异步函数初始化 firebase:
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options:
DefaultFirebaseOptions.currentPlatform);
runApp(const YourAppName());
}
Run Code Online (Sandbox Code Playgroud)
如果您之前安装过 google-services.json 和 google.plist 文件,请删除它们。
$ flutter clean
$ flutter run
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
51930 次 |
最近记录: |