Flutter应用版本升级管理插件firebase_upgrader的使用
Flutter应用版本升级管理插件firebase_upgrader的使用
firebase_upgrader
是一个用于使用 Firebase 实时数据库处理可选和强制应用程序更新的 Flutter 包。
目录
安装
在 pubspec.yaml
文件中添加 firebase_upgrader
:
dependencies:
firebase_upgrader: ^1.0.3
运行 flutter pub get
来安装包。
使用
1. 初始化
确保在 main()
函数中初始化:
void main() {
WidgetsFlutterBinding.ensureInitialized(); // 添加此行
runApp(const MyApp());
}
2. 配置 MaterialApp
在 MaterialApp
中添加以下属性:
navigatorKey: FirebaseUpgrader.navigationKey,
builder: FirebaseUpgrader.builder,
3. 设置最小版本和当前版本
在 Firebase 实时数据库中指定最小版本和当前版本:
{
"features": {
"minVersion": "1.23.45",
"currentVersion": "1.23.45",
"storeLink": "your.store.link",
}
}
你也可以根据不同的平台设置不同的版本:
{
"features": {
"minVersion": {
"ios": "1.23.45",
"android": "1.23.45",
},
"currentVersion": {
"ios": "1.23.45",
"android": "1.23.45",
},
"storeLink": {
"ios": "your.store.link",
"android": "your.store.link",
}
}
}
简单示例
import 'package:firebase_upgrader/firebase_upgrader.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
navigatorKey: FirebaseUpgrader.navigationKey,
builder: FirebaseUpgrader.builder,
// 其他 MaterialApp 属性...
);
}
}
自定义示例
你可以通过向 FirebaseUpgrader
提供可选参数来自定义其外观和行为:
import 'package:flutter/material.dart';
import 'package:firebase_upgrader/firebase_upgrader.dart';
void main() {
WidgetsFlutterBinding.ensureInitialized();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
navigatorKey: FirebaseUpgrader.navigationKey,
builder: (context, child) {
return FirebaseUpgrader(
child: child,
optionalTitle: '新更新可用',
optionalMessage: '发现新版本,是否现在更新?',
optionalButtonText: '立即更新',
forceTitle: '强制升级',
forceMessage: '当前版本已不支持,必须升级到最新版本。',
forceButtonText: '升级',
logo: Image.asset('assets/logo.png'), // 添加你的logo图像资源
appStoreLink: 'https://apps.apple.com/us/app/your-app-name/id123456789', // 添加你的App Store链接
playStoreLink: 'https://play.google.com/store/apps/details?id=com.example.app',
optionalUpgradeScreen: someWidegt,
forceUpgradeScreen: anotherWidget,
);
},
home: Scaffold(
appBar: AppBar(
title: Text('自定义 Firebase Upgrader'),
),
body: Center(
child: Text('欢迎来到自定义的应用!'),
),
),
);
}
}
更多关于Flutter应用版本升级管理插件firebase_upgrader的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用版本升级管理插件firebase_upgrader的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
firebase_upgrader
是一个用于 Flutter 应用的版本升级管理插件,它通过与 Firebase Remote Config 结合,帮助开发者实现应用的版本检查和升级提示功能。使用这个插件,你可以在应用中轻松实现强制升级、可选升级等功能。
安装 firebase_upgrader
首先,你需要在 pubspec.yaml
文件中添加 firebase_upgrader
依赖:
dependencies:
flutter:
sdk: flutter
firebase_upgrader: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
配置 Firebase
-
创建 Firebase 项目:如果你还没有 Firebase 项目,请先在 Firebase 控制台 中创建一个项目。
-
添加 Firebase 到 Flutter 项目:
-
按照 Firebase 官方文档的步骤,将 Firebase 添加到你的 Flutter 项目中。通常需要下载
google-services.json
(Android)和GoogleService-Info.plist
(iOS)文件,并将它们放到项目的相应目录中。 -
在
pubspec.yaml
中添加 Firebase Core 插件:dependencies: flutter: sdk: flutter firebase_core: ^latest_version
-
在
main.dart
中初始化 Firebase:import 'package:firebase_core/firebase_core.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); runApp(MyApp()); }
-
-
配置 Firebase Remote Config:
- 在 Firebase 控制台中,启用 Remote Config 服务。
- 添加以下参数到 Remote Config 中:
app_version
:当前应用的最新版本号。force_upgrade
:布尔值,表示是否需要强制升级。
使用 firebase_upgrader
在你的应用中初始化 firebase_upgrader
,并在适当的地方调用版本检查逻辑。
import 'package:flutter/material.dart';
import 'package:firebase_upgrader/firebase_upgrader.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
}
class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Firebase Upgrader Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 初始化 FirebaseUpgrader
final upgrader = FirebaseUpgrader(
appVersion: '1.0.0', // 当前应用版本
forceUpgrade: false, // 是否强制升级
);
// 检查版本更新
final shouldUpgrade = await upgrader.checkForUpdate();
if (shouldUpgrade) {
// 如果需要升级,显示升级对话框
upgrader.showUpdateDialog(context);
} else {
// 如果不需要升级,继续正常流程
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('应用已是最新版本')),
);
}
},
child: Text('检查更新'),
),
),
);
}
}
Remote Config 参数示例
在 Firebase Remote Config 中,你可以设置以下参数:
app_version
:1.1.0
(最新版本号)force_upgrade
:true
或false
(是否强制升级)
自定义升级对话框
你可以通过 showUpdateDialog
方法自定义升级对话框的样式和行为。例如:
upgrader.showUpdateDialog(
context,
title: '新版本可用',
message: '请更新到最新版本以获得更好的体验。',
updateButtonText: '立即更新',
laterButtonText: '稍后再说',
onUpdate: () {
// 用户点击“立即更新”时的操作
// 例如:打开应用商店
},
onLater: () {
// 用户点击“稍后再说”时的操作
},
);
强制升级
如果你想实现强制升级,可以将 forceUpgrade
设置为 true
,并且用户将无法跳过升级。
final upgrader = FirebaseUpgrader(
appVersion: '1.0.0',
forceUpgrade: true,
);