Flutter应用更新检查插件flutter_update_checker的使用

发布于 1周前 作者 phonegap100 来自 Flutter

Flutter应用更新检查插件flutter_update_checker的使用

Flutter Update Checker - 一个简单的应用更新检查插件

此插件帮助开发者轻松地从各种应用商店检查应用更新,确保用户能够及时获得新版本,包含最新的功能和修复的bug。

目录

特性

  • 从下载该应用的应用商店检查更新。
  • 从其他商店(除了Google Play)获取版本信息。
  • 打开相应应用商店的链接。

平台支持

功能 Android iOS
App Store
App Gallery
Google Play (仅当从Google Play安装时)*
RuStore

重要

Google Play的更新检查不能在本地测试。必须通过Google Play安装应用。有关应用内更新的官方文档,请参阅官方文档

需求

  • Android: 最低SDK版本为21(API级别21)或更高。
  • iOS: 最低版本为12或更高。

开始使用

要在iOS上使用此插件,你必须配置Info.plist文件以允许应用程序链接到App Store。添加以下条目:

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>itms-apps</string>
</array>

这将使你的应用能够正确打开App Store链接。

此外,请确保在pubspec.yaml中使用语义化版本控制(X.Y.Z):

version: 1.2.3+XXXXXX

使用方法

要详细了解如何使用此插件,请参考/example文件夹中的示例。

以下是一个简单的示例,展示如何检查更新:

import 'package:flutter_update_checker/flutter_update_checker.dart';

final updateChecker = UpdateStoreChecker(
      iosAppStoreId: 564177498,
      androidAppGalleryId: 'C101104117',
      androidAppGalleryPackageName: 'com.vkontakte.android',
      androidRuStorePackage: 'com.vkontakte.android',
      androidGooglePlayPackage: 'com.vkontakte.android',
    );

void checkForUpdates() async {
  try {
    // 检查是否有更新
    bool isUpdateAvailable = await updateChecker.checkUpdate();
    if (isUpdateAvailable) {
      print("有可用的更新!");
      // 可选地打开商店链接
      await updateChecker.update();
    } else {
      print("你正在使用最新版本。");
    }

    // 获取商店的版本信息
    String storeVersion = await updateChecker.getStoreVersion();
    print("商店的最新版本: $storeVersion");
  } catch (e) {
    print("检查更新时发生错误: $e");
  }
}

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

1 回复

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


当然,以下是如何在Flutter应用中使用flutter_update_checker插件来进行应用更新检查的代码示例。这个插件可以帮助你检查是否有新版本的应用在Play Store或App Store上发布,并提示用户进行更新。

首先,你需要在你的pubspec.yaml文件中添加flutter_update_checker依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_update_checker: ^x.y.z  # 请替换为最新版本号

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

接下来,在你的Flutter应用中,你可以按照以下步骤使用flutter_update_checker

  1. 导入必要的包
import 'package:flutter/material.dart';
import 'package:flutter_update_checker/flutter_update_checker.dart';
  1. 初始化UpdateChecker

在你的应用的主入口文件(通常是main.dart)中,初始化UpdateChecker

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化UpdateChecker
  final updateChecker = UpdateChecker(
    androidAppId: '你的Android应用ID', // 例如: com.example.yourapp
    iosAppId: '你的iOS应用ID', // 例如: 123456789(App Store中的ID)
    enableDebugLogging: true, // 是否在调试模式下打印日志,生产环境建议设置为false
  );

  // 检查更新
  await updateChecker.checkForUpdate();

  runApp(MyApp());
}
  1. 在应用逻辑中处理更新

在你的应用逻辑中,你可以根据UpdateChecker的结果来显示更新提示。例如,在MyApp的某个合适的地方(如启动屏幕或主页面):

class MyApp extends StatelessWidget {
  final UpdateChecker updateChecker;

  MyApp({required this.updateChecker});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('应用更新检查示例'),
        ),
        body: FutureBuilder<UpdateInfo?>(
          future: updateChecker.updateInfo,
          builder: (context, snapshot) {
            if (snapshot.connectionState == ConnectionState.done) {
              final updateInfo = snapshot.data;
              if (updateInfo != null && updateInfo.isUpdateAvailable) {
                return Center(
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: [
                      Text('发现新版本!'),
                      Text('版本: ${updateInfo.latestVersion}'),
                      ElevatedButton(
                        onPressed: () {
                          // 根据平台打开应用商店页面
                          if (Platform.isAndroid) {
                            updateChecker.openPlayStore();
                          } else if (Platform.isIOS) {
                            updateChecker.openAppStore();
                          }
                        },
                        child: Text('更新应用'),
                      ),
                    ],
                  ),
                );
              } else {
                return Center(child: Text('当前已是最新版本!'));
              }
            } else {
              return Center(child: CircularProgressIndicator());
            }
          },
        ),
      ),
    );
  }
}
  1. UpdateChecker实例传递给MyApp

main函数中,将UpdateChecker实例传递给MyApp

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  final updateChecker = UpdateChecker(
    androidAppId: '你的Android应用ID',
    iosAppId: '你的iOS应用ID',
    enableDebugLogging: true,
  );

  await updateChecker.checkForUpdate();

  runApp(MyApp(updateChecker: updateChecker));
}

这样,你的Flutter应用就可以使用flutter_update_checker插件来检查并提示用户更新应用了。请确保替换示例代码中的你的Android应用ID你的iOS应用ID为你的实际应用ID。

回到顶部