1

我目前正在寻找一段时间如何使用 Flutter for Android 和 IOS 应用程序实现以下功能:当应用程序在版本更新后第一次打开时,我想显示一个对话框,其中包含最新信息新版本/已修复的内容等 - 某种发行说明。

我知道在应用程序启动时显示此对话框的各种方法;但是如何确保在应用程序版本更改后仅执行一次?我正在考虑将各种版本消息作为文本存储在远程后端,并给它们一个唯一的 ID;通过共享首选项或其他持久性,可以存储最后显示的消息 ID 并与最后一个可用的 ID 进行比较。但是我在很多应用程序中都看到了这个功能,我想有一种“标准方式”可以做到这一点,或者可能有一个支持这个功能的包。

亲切的问候迈克尔

4

2 回答 2

2

我不知道是否有标准的方法,但这里有一个简单的方法。

在您的项目中包含“package_info”插件。

import 'package:package_info/package_info.dart';

PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
String runningVersion = packageInfo.version;
//compare runningVersion to the one saved in sharedPrefs
//if they don't match show the message
//then save runningVersion to sharedPrefs
});
于 2020-02-17T06:24:13.100 回答
0

通过package_info包,你可以找出应用程序的当前版本。如果用户通过发布中心(如 google play)更新应用程序,则存储在sharedPreference中的信息仍然存在。因此您可以将应用程序的版本保存在 sharedPreference 中,并且每次打开应用程序时,使用 sharedPreference 中保存的信息检查当前版本是否相同,不需要显示发行说明,但如果当前版本高于存储的版本,则显示发行说明和使用新版本更新 sharePreference。

PackageInfo packageInfo = await PackageInfo.fromPlatform();
String currentVersion=packageInfo.version.toString();
SharedPreferences pref= await SharedPreferences.getInstance();
String latestAppVersion= pref.getString("latestAppVersion");
if(currentVersion.toInt()>latestAppVersion.toInt()){
 //show release note
 //update sharedPreferences with currentVersion

}
于 2021-02-10T16:33:20.900 回答