Flutter应用分发插件firebase_app_distribution的使用
Flutter应用分发插件firebase_app_distribution的使用
firebase_app_distribution
插件用于检测托管在Firebase应用分发上的应用程序的新版本。
使用
以下是一些主要的方法:
/// 检查是否有新版本可用,并提示用户更新。
/// 如果用户尚未作为测试者登录,则此方法将邀请用户成为测试者。
Future<void> updateIfNewReleaseAvailable()
/// 检查是否有新版本可用。
Future<bool> isNewReleaseAvailable()
/// 检查测试者是否已登录。
Future<bool> isTesterSignedIn()
/// 登录测试者,不自动检查更新。
Future<void> signInTester()
/// 注销测试者,不自动检查更新。
Future<void> signOutTester()
示例代码
以下是一个完整的示例,演示如何使用 firebase_app_distribution
插件进行应用分发。
步骤1:添加依赖
在项目的 pubspec.yaml
文件中添加 firebase_app_distribution
依赖项:
dependencies:
flutter:
sdk: flutter
firebase_core: ^2.10.0
firebase_app_distribution: ^0.1.0
确保你已经配置了 Firebase 并初始化了 Firebase SDK。
步骤2:初始化Firebase
在应用启动时初始化 Firebase。通常在 main.dart
中:
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: HomePage(),
);
}
}
步骤3:使用firebase_app_distribution插件
创建一个页面来处理登录、注销和检查更新的操作:
import 'package:flutter/material.dart';
import 'package:firebase_app_distribution/firebase_app_distribution.dart';
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
bool _isNewReleaseAvailable = false;
bool _isTesterSignedIn = false;
@override
void initState() {
super.initState();
checkForUpdates();
}
Future<void> checkForUpdates() async {
// 检查是否有新版本可用
final bool isNewReleaseAvailable = await FirebaseAppDistribution.isNewReleaseAvailable();
setState(() {
_isNewReleaseAvailable = isNewReleaseAvailable;
});
// 如果有新版本,提示用户更新
if (isNewReleaseAvailable) {
await FirebaseAppDistribution.updateIfNewReleaseAvailable();
}
}
Future<void> loginTester() async {
// 登录测试者
await FirebaseAppDistribution.signInTester();
setState(() {
_isTesterSignedIn = true;
});
}
Future<void> logoutTester() async {
// 注销测试者
await FirebaseAppDistribution.signOutTester();
setState(() {
_isTesterSignedIn = false;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Firebase App Distribution'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: _isTesterSignedIn ? null : loginTester,
child: Text(_isTesterSignedIn ? '已登录' : '登录测试者'),
),
ElevatedButton(
onPressed: _isTesterSignedIn ? logoutTester : null,
child: Text(_isTesterSignedIn ? '注销测试者' : '未登录'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: _isNewReleaseAvailable ? checkForUpdates : null,
child: Text(_isNewReleaseAvailable ? '更新应用' : '无新版本'),
),
],
),
),
);
}
}
贡献
贡献指南:
- ❌ 分叉仓库
- ❌ 将更改推送到你的分叉
- ❌ 在你的应用中,在
pubspec.yaml
文件中指向你的分叉:
dependencies:
...
firebase_app_distribution:
git:
ref: main
url: https://github.com/YOUR_GITHUB/firebase_app_distribution.git
更多关于Flutter应用分发插件firebase_app_distribution的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用分发插件firebase_app_distribution的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
firebase_app_distribution
是一个用于将 Flutter 应用分发给测试人员的插件。它允许开发者将应用程序的测试版本直接分发到测试人员的设备上,并且与 Firebase 紧密集成,提供了简单而强大的分发流程。
安装与配置
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 firebase_app_distribution
插件的依赖:
dependencies:
firebase_app_distribution: ^1.0.0 # 请根据实际情况选择最新版本
然后运行 flutter pub get
来安装依赖。
2. 配置 Firebase 项目
在 Firebase 控制台中创建一个新项目(如果还没有),然后添加你的 Flutter 应用。
- 打开 Firebase 控制台。
- 点击 “添加项目”,然后按照提示创建一个新项目。
- 在项目中,点击 “添加应用”,选择 Android 或 iOS,并按照步骤添加你的应用。
- 下载
google-services.json
(对于 Android)或GoogleService-Info.plist
(对于 iOS)文件,并将它们分别放在你的 Flutter 项目的以下位置:- Android:
android/app/
- iOS:
ios/Runner/
- Android:
3. 配置 Android 项目
在 android/app/build.gradle
文件中,确保已经应用了 google-services
插件:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services' // 添加这行
同时,在 android/build.gradle
文件中,确保添加了 Google 服务依赖:
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.10' // 确保使用最新版本
}
}
4. 配置 iOS 项目
对于 iOS,确保你已经将 GoogleService-Info.plist
文件添加到 ios/Runner/
目录中,并且在 ios/Runner.xcodeproj/project.pbxproj
文件中正确配置了 Firebase。
使用 firebase_app_distribution
插件
1. 初始化插件
在你的 Flutter 代码中,导入并初始化 firebase_app_distribution
插件:
import 'package:firebase_app_distribution/firebase_app_distribution.dart';
final firebaseAppDistribution = FirebaseAppDistribution.instance;
2. 检查更新
你可以在应用的某个地方检查是否有新版本的分发:
Future<void> checkForUpdate() async {
try {
bool updateAvailable = await firebaseAppDistribution.checkForUpdate();
if (updateAvailable) {
// 提示用户更新
print("A new version is available!");
} else {
print("No updates available.");
}
} catch (e) {
print("Error checking for updates: $e");
}
}
3. 分发应用
要将应用分发给测试人员,可以使用 Firebase 控制台或 Firebase CLI。
通过 Firebase 控制台:
- 在 Firebase 控制台中,进入你的项目。
- 导航到 App Distribution。
- 点击 上传应用程序,然后选择你的 APK 或 IPA 文件。
- 上传完成后,你可以选择测试人员或将应用发布给特定群组。
通过 Firebase CLI:
-
安装 Firebase CLI:
npm install -g firebase-tools
-
登录 Firebase:
firebase login
-
分发应用:
对于 Android:
firebase appdistribution:distribute path/to/your/app.apk \ --app 1:1234567890:android:abcdef1234567890 \ --testers-file testers.txt
对于 iOS:
firebase appdistribution:distribute path/to/your/app.ipa \ --app 1:1234567890:ios:abcdef1234567890 \ --testers-file testers.txt