Flutter - 如何检查应用程序是否有新版本?

El *_*bre 5 flutter

我用Flutter创建了一个应用程序。当我上传新版本时,我需要强制用户更新应用程序。我尝试了这个包,但我认为它不起作用。在文档中,我们可以看到我们可以使用此代码验证版本。

Container(
     margin: EdgeInsets.fromLTRB(12.0, 0.0, 12.0, 0.0),
     child: UpgradeCard();
)
Run Code Online (Sandbox Code Playgroud)

问题是:我需要检查 *'initState' 中的版本,而不是Scaffold。那么在应用程序启动时检查版本的正确方法是什么?

Dom*_*ski 14

我建议尝试Firebase 远程配置并在那里更新所需的最低版本。在商店中的每次更新时强制更新应用程序并不是一个好习惯。此外,某些用户可以比其他用户更晚在给定商店中看到更新版本。这就是 Google Play 和 AppStore 的工作方式。

因此,当您确实需要强制更新应用程序时,您可以在 Firebase 上增加参数,例如在商店更新后一天。

触发对话框的简单代码如下所示:

Future<bool> checkUpdates() async {
    await remoteConfig.fetch();
    await remoteConfig.activateFetched();

    final requiredBuildNumber = remoteConfig.getInt(Platform.isAndroid
        ? 'requiredBuildNumberAndroid'
        : 'requiredBuildNumberIOS');

    final currentBuildNumber = int.parse(packageInfo.buildNumber);

    return currentBuildNumber < requiredBuildNumber;
  }
Run Code Online (Sandbox Code Playgroud)

这需要添加package_info包以及firebase_remote_config

要在商店中打开应用程序,您需要使用url_launcher包并将 URL 传递给您的应用程序。


Ada*_*aka 6

您可以致电https://itunes.apple.com/lookup?bundleId=$idhttps://play.google.com/store/apps/details?id=$id接收商店提供的最新应用程序版本。我可以推荐这个包来做到这一点: https: //pub.dev/packages/new_version