Flutter应用版本检查插件client_version_checker的使用

Flutter应用版本检查插件client_version_checker的使用

简介

此插件用于检查您的应用程序在Google Play商店或Apple App Store中是否有新版本。您还可以使用它来检查其他应用程序在Google Play商店或Apple App Store中的最新版本。


安装

pubspec.yaml文件中添加flutter_app_version_checker依赖:

dependencies:
  flutter_app_version_checker: any # 或者使用最新版本

执行以下命令以安装依赖:

flutter pub get

使用

首先,创建一个AppVersionChecker实例并调用checkUpdate方法来检查更新。

示例代码
import 'package:flutter/material.dart';
import 'package:flutter_app_version_checker/flutter_app_version_checker.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _checker = AppVersionChecker(); // 创建插件实例

  @override
  void initState() {
    super.initState();
    checkVersion(); // 初始化时检查版本
  }

  Future<void> checkVersion() async {
    await _checker.checkUpdate().then((value) {
      print('是否可以更新: ${value.canUpdate}'); // 如果有新版本返回true
      print('当前版本: ${value.currentVersion}'); // 当前应用版本
      print('新版本: ${value.newVersion}'); // 新版本号
      print('下载链接: ${value.appURL}'); // 应用下载链接
      print('错误信息: ${value.errorMessage ?? '无'}'); // 错误信息(如果有)
    }).catchError((error) {
      print('检查版本时发生错误: $error');
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('版本检查示例'),
        ),
        body: Center(
          child: Text('正在检查版本...'),
        ),
      ),
    );
  }
}

高级用法

指定应用ID和当前版本

如果需要指定应用ID和当前版本,可以在创建AppVersionChecker实例时传入参数:

final _checker = AppVersionChecker(
  appId: "your.package.name", // 替换为您的应用包名
  currentVersion: "1.0.0", // 替换为当前版本号
);
使用ApkPure商店

如果您想检查ApkPure商店中的版本,可以设置androidStoreAndroidStore.apkPure

final _checker = AppVersionChecker(
  appId: "com.vanced.android.youtube", // 替换为目标应用的包名
  androidStore: AndroidStore.apkPure, // 使用ApkPure商店
);

输出示例

运行上述代码后,控制台将打印类似以下内容:

是否可以更新: true
当前版本: 1.0.0
新版本: 1.1.0
下载链接: https://play.google.com/store/apps/details?id=com.example.app
错误信息: 无

更多关于Flutter应用版本检查插件client_version_checker的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter应用版本检查插件client_version_checker的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


client_version_checker 是一个 Flutter 插件,用于检查应用版本并提示用户更新。它可以帮助你在应用中实现版本检查功能,确保用户使用的是最新版本的应用。以下是使用 client_version_checker 插件的基本步骤:

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 client_version_checker 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  client_version_checker: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 配置插件

main.dart 中初始化插件并配置版本检查:

import 'package:flutter/material.dart';
import 'package:client_version_checker/client_version_checker.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  [@override](/user/override)
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  [@override](/user/override)
  void initState() {
    super.initState();
    _checkVersion();
  }

  Future<void> _checkVersion() async {
    final versionChecker = ClientVersionChecker(
      currentVersion: '1.0.0', // 当前应用的版本号
      minSupportedVersion: '1.0.0', // 最低支持的版本号
      storeUrl: 'https://play.google.com/store/apps/details?id=com.example.app', // 应用商店的URL
    );

    final versionStatus = await versionChecker.checkVersion();

    if (versionStatus == VersionStatus.outdated) {
      // 提示用户更新
      _showUpdateDialog();
    } else if (versionStatus == VersionStatus.unsupported) {
      // 提示用户应用版本过低,无法继续使用
      _showUnsupportedDialog();
    }
  }

  void _showUpdateDialog() {
    showDialog(
      context: context,
      builder: (BuildContext context) {
        return AlertDialog(
          title: Text('更新可用'),
          content: Text('有新版本可用,请更新以继续使用。'),
          actions: <Widget>[
            TextButton(
              child: Text('更新'),
              onPressed: () {
                // 打开应用商店
                ClientVersionChecker.launchStore();
                Navigator.of(context).pop();
              },
            ),
            TextButton(
              child: Text('稍后'),
              onPressed: () {
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }

  void _showUnsupportedDialog() {
    showDialog(
      context: context,
      builder: (BuildContext context) {
        return AlertDialog(
          title: Text('版本过低'),
          content: Text('您的应用版本过低,无法继续使用。请更新应用。'),
          actions: <Widget>[
            TextButton(
              child: Text('更新'),
              onPressed: () {
                // 打开应用商店
                ClientVersionChecker.launchStore();
                Navigator.of(context).pop();
              },
            ),
          ],
        );
      },
    );
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo Home Page'),
      ),
      body: Center(
        child: Text('检查应用版本'),
      ),
    );
  }
}
回到顶部