Flutter Firebase应用分发插件firebase_app_distribution_platform_interface的使用
Flutter Firebase应用分发插件firebase_app_distribution_platform_interface的使用
firebase_app_distribution
此Flutter插件用于检测Firebase应用分发上托管的应用的新版本。
使用方法
以下是一些关键方法的示例:
/// 检查是否有新版本可用,并在有新版本时提示用户更新。
/// 如果用户未以测试者的身份登录,此方法将邀请用户成为测试者。
Future<void> updateIfNewReleaseAvailable()
/// 检查是否有新版本可用。
Future<bool> isNewReleaseAvailable()
/// 检查测试者是否已登录。
Future<bool> isTesterSignedIn()
/// 不自动检查更新的情况下,以测试者身份登录。
Future<void> signInTester()
/// 不自动检查更新的情况下,注销测试者身份。
Future<void> signOutTester()
完整示例Demo
下面是一个完整的示例,展示如何使用firebase_app_distribution
插件。
import 'package:flutter/material.dart';
import 'package:firebase_app_distribution/firebase_app_distribution.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
bool _isTesterSignedIn = false;
bool _isNewReleaseAvailable = false;
@override
void initState() {
super.initState();
// 初始化时检查是否为测试者登录状态
checkTesterStatus();
// 初始化时检查是否有新版本可用
checkForNewRelease();
}
Future<void> checkTesterStatus() async {
final isTesterSignedIn = await FirebaseAppDistribution.isTesterSignedIn();
setState(() {
_isTesterSignedIn = isTesterSignedIn;
});
}
Future<void> checkForNewRelease() async {
final isNewReleaseAvailable = await FirebaseAppDistribution.isNewReleaseAvailable();
setState(() {
_isNewReleaseAvailable = isNewReleaseAvailable;
});
}
Future<void> updateIfNewReleaseAvailable() async {
await FirebaseAppDistribution.updateIfNewReleaseAvailable();
}
Future<void> signInTester() async {
await FirebaseAppDistribution.signInTester();
}
Future<void> signOutTester() async {
await FirebaseAppDistribution.signOutTester();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Firebase App Distribution Demo'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: _isTesterSignedIn ? null : signInTester,
child: Text('Sign in as Tester'),
),
ElevatedButton(
onPressed: _isTesterSignedIn ? updateIfNewReleaseAvailable : null,
child: Text('Update if New Release Available'),
),
ElevatedButton(
onPressed: _isTesterSignedIn ? signOutTester : null,
child: Text('Sign Out Tester'),
),
Text(_isNewReleaseAvailable ? 'New Release Available' : 'No New Release Available'),
],
),
),
),
);
}
}
贡献
- ❌ Fork 仓库
- ❌ 在你的分支中推送一些更改
- ❌ 在你自己的项目中,在
pubspec.yaml
文件中指向你的分支,如下所示:
dependencies:
...
firebase_app_distribution:
git:
ref: main
url: https://github.com/YOUR_GITHUB/firebase_app_distribution.git
更多关于Flutter Firebase应用分发插件firebase_app_distribution_platform_interface的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter Firebase应用分发插件firebase_app_distribution_platform_interface的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
firebase_app_distribution_platform_interface
是 Flutter 中用于实现 Firebase App Distribution 插件的一个平台接口包。它提供了一组通用的接口,允许不同的平台(如 Android 和 iOS)实现 Firebase App Distribution 的功能。
通常,你会直接使用 firebase_app_distribution
插件,而不是直接使用 firebase_app_distribution_platform_interface
。firebase_app_distribution
插件会封装平台接口,并提供更简单的 API 供你在 Flutter 应用中使用。
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 firebase_app_distribution
插件的依赖:
dependencies:
flutter:
sdk: flutter
firebase_core: latest_version
firebase_app_distribution: latest_version
确保你已经正确配置了 Firebase 项目,并且在 android/app
和 ios
文件夹中完成了必要的 Firebase 配置。
2. 初始化 Firebase
在 main.dart
中初始化 Firebase:
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Firebase App Distribution Demo',
home: Scaffold(
appBar: AppBar(
title: Text('Firebase App Distribution'),
),
body: Center(
child: Text('Hello, Firebase App Distribution!'),
),
),
);
}
}
3. 使用 Firebase App Distribution
你可以使用 firebase_app_distribution
插件来分发你的应用。以下是一个简单的示例,展示了如何触发应用分发:
import 'package:firebase_app_distribution/firebase_app_distribution.dart';
import 'package:flutter/material.dart';
class MyHomePage extends StatelessWidget {
Future<void> _checkForUpdate() async {
final firebaseAppDistribution = FirebaseAppDistribution.instance;
try {
bool updateAvailable = await firebaseAppDistribution.checkForUpdate();
if (updateAvailable) {
await firebaseAppDistribution.updateApp();
} else {
print('No update available.');
}
} catch (e) {
print('Error checking for update: $e');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Firebase App Distribution'),
),
body: Center(
child: ElevatedButton(
onPressed: _checkForUpdate,
child: Text('Check for Update'),
),
),
);
}
}
4. 配置 Firebase App Distribution
在 Firebase 控制台中,你需要配置 App Distribution,并添加测试人员。你可以通过电子邮件邀请测试人员,他们将会收到一个链接,可以直接下载并安装你分发的应用。
5. 构建和分发应用
在开发过程中,你可以使用以下命令构建应用并上传到 Firebase App Distribution:
-
Android:
flutter build apk firebase appdistribution:distribute build/app/outputs/apk/release/app-release.apk \ --app <your-app-id> \ --groups <your-test-group>
-
iOS:
flutter build ios firebase appdistribution:distribute Runner.app \ --app <your-app-id> \ --groups <your-test-group>