Flutter Firebase管理工具插件firebase_management的使用
使用
以下是一个完整的示例,展示如何使用 firebase_management
插件来管理 Firebase 项目。
import 'package:firebase_management/firebase_management.dart';
void main() async {
// applicationDefault() 将会在以下位置查找凭据:
// * 包主目录中的 service-account.json 文件
// * 环境变量 GOOGLE_APPLICATION_CREDENTIALS
// * 此库特定的配置文件,存储在用户的主目录中
// * gcloud 的应用默认凭据
var credential = Credentials.applicationDefault();
// 如果未找到凭据,则通过 OpenID 登录
// 凭据将存储在磁盘上以供后续使用
credential ??= await Credentials.login();
// 创建 FirebaseManagement 类的实例
var firebaseManagement = FirebaseManagement(credential);
// 获取项目列表
var projects = await firebaseManagement.projects.listFirebaseProjects();
for (var p in projects) {
print('${p.displayName} - ${p.projectId}');
// 获取项目的应用列表
var apps = await firebaseManagement.apps.listFirebaseApps(p.projectId);
for (var a in apps) {
print(
' ${a.platform.toString().substring('AppPlatform.'.length)} - ${a.displayName} - ${a.appId}');
// 获取应用的配置信息
var config = await firebaseManagement.apps.getAppConfig(a.appId, a.platform);
print(config.configFileContents); // 打印配置文件内容
print(config.sdkConfig); // 打印 SDK 配置
}
return;
}
}
代码说明
-
初始化凭证:
var credential = Credentials.applicationDefault();
使用
Credentials.applicationDefault()
方法尝试从多个位置加载 Firebase 凭证。如果没有找到有效的凭证,可以通过Credentials.login()
方法进行登录。 -
创建 FirebaseManagement 实例:
var firebaseManagement = FirebaseManagement(credential);
创建一个
FirebaseManagement
对象,用于管理 Firebase 项目和应用。 -
获取项目列表:
var projects = await firebaseManagement.projects.listFirebaseProjects();
调用
listFirebaseProjects()
方法获取当前用户拥有的所有 Firebase 项目。 -
遍历项目并获取应用:
for (var p in projects) { print('${p.displayName} - ${p.projectId}'); var apps = await firebaseManagement.apps.listFirebaseApps(p.projectId); for (var a in apps) { print( ' ${a.platform.toString().substring('AppPlatform.'.length)} - ${a.displayName} - ${a.appId}'); } }
遍历每个项目,并调用
listFirebaseApps()
方法获取该项目下的所有应用。 -
获取应用配置:
var config = await firebaseManagement.apps.getAppConfig(a.appId, a.platform); print(config.configFileContents); print(config.sdkConfig);
更多关于Flutter Firebase管理工具插件firebase_management的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
firebase_management
是一个 Flutter 插件,用于通过 Flutter 应用程序管理 Firebase 项目。它允许你创建、删除、更新 Firebase 项目,以及管理 Firebase 项目中的服务(如 Firestore、Authentication、Storage 等)。这个插件通常用于需要动态管理 Firebase 项目的场景,例如在多租户应用程序中为每个租户创建一个独立的 Firebase 项目。
安装 firebase_management
插件
首先,你需要在 pubspec.yaml
文件中添加 firebase_management
插件的依赖:
dependencies:
flutter:
sdk: flutter
firebase_management: ^0.0.1 # 请检查最新版本
然后运行 flutter pub get
来安装依赖。
使用 firebase_management
插件
1. 初始化 Firebase Management
在使用 firebase_management
插件之前,你需要初始化它。通常,你需要提供 Firebase 的管理员凭据(如服务账号的 JSON 文件)。
import 'package:firebase_management/firebase_management.dart';
void main() async {
final management = FirebaseManagement(
serviceAccountPath: 'path/to/service_account.json',
);
// 现在你可以使用 management 对象来管理 Firebase 项目
}
2. 创建 Firebase 项目
你可以使用 createProject
方法来创建一个新的 Firebase 项目。
void createNewProject() async {
final project = await management.createProject(
displayName: 'My New Project',
projectId: 'my-new-project-id',
);
print('Project created: ${project.name}');
}
3. 获取 Firebase 项目列表
你可以使用 listProjects
方法来获取所有 Firebase 项目的列表。
void listProjects() async {
final projects = await management.listProjects();
for (var project in projects) {
print('Project: ${project.displayName} (${project.projectId})');
}
}
4. 删除 Firebase 项目
你可以使用 deleteProject
方法来删除一个 Firebase 项目。
void deleteProject(String projectId) async {
await management.deleteProject(projectId);
print('Project deleted: $projectId');
}
5. 管理 Firebase 服务
你还可以使用 firebase_management
插件来管理 Firebase 项目中的服务,例如启用 Firestore、Authentication 等。
void enableFirestore(String projectId) async {
await management.enableService(
projectId: projectId,
service: 'firestore.googleapis.com',
);
print('Firestore enabled for project: $projectId');
}