设置 Firebase 项目
学习如何设置 Firebase 项目,并配置你的 Flutter 应用以使用 Firebase 插件。
简介
Firebase 是一个完全托管的后端服务,包含一系列实用的服务,例如:
- 数据库
- 文件存储
- 认证
- 推送通知
- 分析
- 崩溃报告
- 用户事件
- 远程配置
当需要为多个用户存储应用数据并有时需要展示这些数据时,我们将使用像 Firebase 这样的云存储服务。
在本章中,我们将学习以下内容:
- 创建 Firebase 项目
- 在 Flutter 应用中集成 Firebase 认证
- 使用 Cloud Firestore 数据库
- 构建一个实时聊天应用(基于 Firebase)
创建 Firebase 项目
从 Firebase 页面进入控制台
将 Firebase 添加到我们的 Flutter 应用
要将 Firebase 添加到应用程序中,我们需要执行以下步骤:
- 安装所需的命令行工具
- 配置应用以使用 Firebase
- 初始化 Firebase
- 添加 Firebase 插件
安装命令行工具
-
首先安装 Firebase CLI。该工具允许我们通过命令行管理 Firebase 项目,并由 FlutterFire CLI 用于将项目配置同步到 Firebase 控制台和应用代码中。
-
在 Firebase CLI 中登录您的 Google 账户。使用以下命令登录:
1firebase login --no-localhost
系统会重定向到浏览器,要求您登录 Google 账户。请确保登录的是您在 Firebase 控制台创建项目时所用的账户。
- 通过运行以下命令安装 FlutterFire CLI 工具:
1dart pub global activate flutterfire_cli
- 需要将
flutterfireCLI 添加到系统环境路径中,运行以下命令:
1export PATH="$PATH":"$HOME/.pub-cache/bin"
配置应用以使用 Firebase
现在,使用 FlutterFire CLI 将我们的应用配置为连接到 Firebase 控制台中的项目。
在应用目录内运行以下命令,并按照提示完成 Firebase 的设置:
1flutterfire configure
No configuration found for ID: e97495e571e04455d2f150552d5e179361ffb72805f09cef901df19f063a23f9
flutterfire configure 命令执行以下操作:
- 提示我们选择要配置 Firebase 的平台。当为应用添加新的平台支持时,需要重新运行此命令。
- 在
lib/目录中创建并添加 Firebase 配置文件(firebase_options.dart)。该配置文件包含应用所支持各平台的特定 Firebase 配置信息。 - 向应用添加必要的产品专用 Gradle 插件。在向应用添加 Firebase 插件后,也需要重新运行此命令。
在应用中初始化 Firebase
- 找到应用根目录下的
pubspec.yaml文件,定位到# TODO-1: Add firebase_core plugin(第 15 行),将其替换为以下内容:
1firebase_core: ^2.13.0
- 在应用目录中重新运行以下命令:
1flutterfire configure
- 在
lib/main.dart文件中,导入 Firebase 核心插件。将// TODO-2: Import firebase_core(第 1 行)替换为以下代码:
1import 'package:firebase_core/firebase_core.dart';
flutterfire configure 命令会生成一个新文件 —— lib/firebase_options.dart,其中包含连接到选定 Firebase 项目的全部配置信息。
- 仍在
lib/main.dart文件中,导入生成的firebase_options.dart文件。将// TODO-3: Import firebase_options替换为以下代码:
1import 'firebase_options.dart';
- 找到
// TODO-4: Initialize Firebase,将其替换为以下代码:
1await Firebase.initializeApp( 2 options: DefaultFirebaseOptions.currentPlatform, 3);
代码示例
1nano ./lib/firebase_options.dart
No configuration found for ID: 83151454f2c09ddb8079b636aeec0df58d2bdb518635bc0b624fef034ebe3eab
添加 Firebase 插件
此时,我们的应用已准备好使用任何由 Flutter 支持的 Firebase 插件。请查阅 Firebase 文档 了解可用的 Firebase 插件及其兼容性。
至此,我们已完成在应用中使用 Firebase 的基础搭建工作。