Flutter桌面端Firebase核心服务插件firebase_core_desktop_new的使用
Flutter桌面端Firebase核心服务插件firebase_core_desktop_new的使用
一个用于在Linux和Windows上使用Firebase Core API的Flutter插件,使连接到多个Firebase应用成为可能。
要了解有关Firebase的更多信息,请访问Firebase网站。
开始使用
请按照以下步骤安装Firebase Core以供桌面应用程序使用。
- 在项目的根目录下运行以下命令:
flutter pub add firebase_core
flutter pub add firebase_core_desktop
注意: <code>firebase_core_desktop</code>
是主 <code>firebase_core</code>
插件的平台实现,因此如果尚未安装 <code>firebase_core</code>
,则必须同时安装它们。
- 导入该库:
import 'package:firebase_core/firebase_core.dart';
使用
初始化默认应用
与iOS、Android、macOS和Web上的firebase_core
不同,无需特定于平台的配置文件来初始化默认的Firebase应用。相反,将配置作为选项传递给initializeApp
方法而不指定名称。
const firebaseOptions = FirebaseOptions(
appId: '...',
apiKey: '...',
projectId: '...',
messagingSenderId: '...',
authDomain: '...',
);
await Firebase.initializeApp(options: firebaseOptions);
如果您正在推送至公共仓库,可以考虑将配置通过环境变量传递:
const firebaseOptions = FirebaseOptions(
appId: const String.fromEnvironment('FIREBASE_APP_ID'),
apiKey: const String.fromEnvironment('FIREBASE_API_KEY'),
projectId: const String.fromEnvironment('FIREBASE_PROJECT_ID'),
messagingSenderId: const String.fromEnvironment('FIREBASE_SENDER_ID'),
authDomain: const String.fromEnvironment('FIREBASE_AUTH_DOMAIN'),
);
请注意,初始化应在任何其他FlutterFire插件使用之前进行。
初始化次要应用
要初始化次要应用,请向initializeApp
方法提供名称:
await Firebase.initializeApp(app: 'foo', options: firebaseOptions);
检查完整的使用示例。
示例代码
以下是示例代码:
// ignore_for_file: public_member_api_docs
import 'dart:async';
import 'dart:developer';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
// 应用名称
String get name => 'foo';
// Firebase配置选项
FirebaseOptions get firebaseOptions => const FirebaseOptions(
appId: '1:448618578101:ios:0b650370bb29e29cac3efc',
apiKey: 'AIzaSyAgUhHU8wSJgO5MVNy95tMT07NEjzMOfz0',
projectId: 'react-native-firebase-testing',
messagingSenderId: '448618578101',
);
// 初始化默认应用
Future<void> initializeDefault() async {
final app = await Firebase.initializeApp(options: firebaseOptions);
log('Initialized default app $app');
}
// 初始化次要应用
Future<void> initializeSecondary() async {
final app = await Firebase.initializeApp(
name: name,
options: firebaseOptions,
);
log('Initialized $app');
}
// 获取当前初始化的应用
void apps() {
final apps = Firebase.apps;
log('Currently initialized apps: $apps');
}
// 列出当前应用的配置选项
void options() {
final app = Firebase.app(name);
final options = app.options;
log('Current options for app $name: $options');
}
// 删除应用
Future<void> delete() async {
final app = Firebase.app(name);
await app.delete();
log('App $name deleted');
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Firebase Core 示例应用'),
),
body: Padding(
padding: const EdgeInsets.all(20),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
ElevatedButton(
onPressed: initializeDefault,
child: const Text('初始化默认应用'),
),
ElevatedButton(
onPressed: initializeSecondary,
child: const Text('初始化次要应用'),
),
ElevatedButton(
onPressed: apps,
child: const Text('获取应用列表'),
),
ElevatedButton(
onPressed: options,
child: const Text('列出配置选项'),
),
ElevatedButton(
onPressed: delete,
child: const Text('删除应用'),
),
],
),
),
),
);
}
}
更多关于Flutter桌面端Firebase核心服务插件firebase_core_desktop_new的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter桌面端Firebase核心服务插件firebase_core_desktop_new的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter桌面端应用中使用Firebase核心服务时,firebase_core_desktop_new
是一个非常有用的插件,它允许你在桌面平台(如Windows、macOS和Linux)上使用Firebase的核心功能。以下是使用 firebase_core_desktop_new
插件的详细步骤:
1. 创建Flutter项目
首先,确保你已经创建了一个Flutter项目。如果还没有,可以使用以下命令创建一个新项目:
flutter create my_firebase_desktop_app
2. 添加依赖
在 pubspec.yaml
文件中添加 firebase_core_desktop_new
插件的依赖:
dependencies:
flutter:
sdk: flutter
firebase_core: ^2.0.0 # 或者最新版本
firebase_core_desktop_new: ^0.0.1 # 或者最新版本
然后在终端运行以下命令来获取依赖:
flutter pub get
3. 初始化Firebase
在你的 main.dart
文件中初始化Firebase。首先导入必要的包:
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_core_desktop_new/firebase_core_desktop_new.dart';
然后在 main
函数中初始化Firebase:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化Firebase
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(MyApp());
}
4. 配置Firebase选项
为了在桌面平台上使用Firebase,你需要提供一个 DefaultFirebaseOptions
对象。这个对象包含了Firebase项目的配置信息。你可以在 lib/firebase_options.dart
文件中生成这些配置。
首先,确保你已经安装了 firebase_cli
并且已经登录到Firebase:
npm install -g firebase-tools
firebase login
然后,在项目根目录下运行以下命令来生成Firebase配置:
flutter pub run firebase_core_desktop_new:generate
这将会在 lib/firebase_options.dart
文件中生成 DefaultFirebaseOptions
类。
5. 使用Firebase服务
现在你已经成功初始化了Firebase,可以在应用中使用Firebase的其他服务了,例如Firebase Authentication、Firestore等。
例如,使用Firebase Authentication的示例:
import 'package:firebase_auth/firebase_auth.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Firebase Desktop App'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
try {
UserCredential userCredential = await FirebaseAuth.instance.signInAnonymously();
print("Signed in with UID: ${userCredential.user?.uid}");
} catch (e) {
print("Failed to sign in: $e");
}
},
child: Text('Sign in Anonymously'),
),
),
),
);
}
}
6. 运行应用
确保你已经配置好了桌面平台的开发环境,然后运行应用:
flutter run -d windows # 或者 macos, linux
7. 调试和测试
在开发过程中,你可以使用Firebase控制台来监控应用的使用情况,并调试可能出现的问题。
8. 打包和发布
当你准备好发布应用时,可以使用Flutter的打包工具来生成桌面平台的安装包:
flutter build windows # 或者 macos, linux