Flutter应用版本检查插件flutter_app_version_checker_bis的使用
Flutter应用版本检查插件flutter_app_version_checker_bis的使用
本包用于检查您的应用是否在Google Play商店或Apple App Store中有新版本。您还可以检查其他应用在Google Play商店或Apple App Store中的最新版本。
安装
在pubspec.yaml
文件中添加flutter_app_version_checker_bis
依赖:
dependencies:
flutter_app_version_checker_bis: any # 或者使用最新的版本号
使用
首先,创建一个AppVersionChecker
实例,并在initState
方法中调用checkUpdate
方法来检查更新。
import 'package:flutter_app_version_checker_bis/flutter_app_version_checker_bis.dart';
import 'package:flutter/material.dart';
final _checker = AppVersionChecker();
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
void initState() {
super.initState();
checkVersion();
}
void checkVersion() async {
_checker.checkUpdate().then((value) {
print(value.canUpdate); // 如果有更新返回true
print(value.currentVersion); // 返回当前应用版本
print(value.newVersion); // 返回新的应用版本
print(value.appURL); // 返回应用下载链接
print(value.errorMessage); // 如果有错误信息则返回错误信息,否则返回null
});
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('APP版本检查器'),
),
body: Center(
child: Text("请点击下方按钮检查更新"),
),
),
);
}
}
或者指定应用ID和当前版本
final _checker = AppVersionChecker(
appId: "specify the app id (可选)",
currentVersion: "specify the current version (可选)",
);
在ApkPure商店上使用
final _checker = AppVersionChecker(
appId: "com.vanced.android.youtube",
androidStore: AndroidStore.apkPure,
);
示例代码
以下是一个完整的示例代码,展示了如何在Flutter应用中使用flutter_app_version_checker_bis
插件来检查更新。
import 'package:flutter_app_version_checker_bis/flutter_app_version_checker_bis.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({Key? key}) : super(key: key);
[@override](/user/override)
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
final _youtubeChecker = AppVersionChecker(
appId: "com.vanced.android.youtube",
androidStore: AndroidStore.apkPure,
);
final _snapChatChecker = AppVersionChecker(appId: "com.snapchat.android");
String? snapValue;
String? youtubeValue;
[@override](/user/override)
void initState() {
super.initState();
checkVersion();
}
void checkVersion() async {
await Future.wait([
_snapChatChecker
.checkUpdate()
.then((value) => snapValue = value.toString()),
_youtubeChecker
.checkUpdate()
.then((value) => youtubeValue = value.toString()),
]);
setState(() {});
}
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('APP版本检查器'),
),
body: Padding(
padding: const EdgeInsets.all(12.0),
child: ListView(
children: [
const SizedBox(height: 25.0),
const Text(
"Snapchat: (Play Store)",
style: TextStyle(fontWeight: FontWeight.bold),
),
const SizedBox(height: 10.0),
Text(
snapValue ?? '加载中 ...',
),
const SizedBox(height: 50.0),
const Text(
"YouTube Vanced (ApkPure):",
style: TextStyle(fontWeight: FontWeight.bold),
),
const SizedBox(height: 10.0),
Text(
youtubeValue ?? "加载中 ...",
),
],
),
),
),
);
}
}
更多关于Flutter应用版本检查插件flutter_app_version_checker_bis的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用版本检查插件flutter_app_version_checker_bis的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_app_version_checker_bis
是一个用于检查应用版本更新的 Flutter 插件。它可以帮助你检测应用是否有新版本发布,并提示用户进行更新。以下是如何使用这个插件的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 flutter_app_version_checker_bis
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_app_version_checker_bis: ^0.1.0 # 请根据实际情况使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 基本用法
在你的 Flutter 应用中使用 flutter_app_version_checker_bis
插件的基本步骤如下:
import 'package:flutter/material.dart';
import 'package:flutter_app_version_checker_bis/flutter_app_version_checker_bis.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: VersionCheckPage(),
);
}
}
class VersionCheckPage extends StatefulWidget {
[@override](/user/override)
_VersionCheckPageState createState() => _VersionCheckPageState();
}
class _VersionCheckPageState extends State<VersionCheckPage> {
String _versionStatus = 'Checking...';
[@override](/user/override)
void initState() {
super.initState();
checkAppVersion();
}
Future<void> checkAppVersion() async {
try {
final versionStatus = await FlutterAppVersionCheckerBis.checkVersion();
setState(() {
_versionStatus = versionStatus;
});
if (versionStatus == 'update_available') {
// 如果有更新,提示用户
_showUpdateDialog();
}
} catch (e) {
setState(() {
_versionStatus = 'Error: $e';
});
}
}
void _showUpdateDialog() {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text('Update Available'),
content: Text('A new version of the app is available. Please update to the latest version.'),
actions: <Widget>[
TextButton(
child: Text('Update'),
onPressed: () {
// 打开应用商店或浏览器进行更新
FlutterAppVersionCheckerBis.launchStore();
Navigator.of(context).pop();
},
),
TextButton(
child: Text('Later'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('App Version Checker'),
),
body: Center(
child: Text(_versionStatus),
),
);
}
}