Flutter 颤振:显示更改日志/发行说明;什么';“新的”;升级到新应用程序版本后

Flutter 颤振:显示更改日志/发行说明;什么';“新的”;升级到新应用程序版本后,flutter,app-startup,release-notes,Flutter,App Startup,Release Notes,我目前正在搜索如何在Android和IOS应用程序中实现以下功能: 当应用程序在版本更新后第一次打开时,我想显示一个对话框,其中包含新版本中的新内容/已修复的内容等信息-某种发行说明 我知道在应用程序启动时显示此对话框的各种方法;但我如何确保在应用程序版本更改后只执行一次? 我正在考虑将各种版本的消息作为文本存储在远程后端,并给它们一个唯一的ID;通过共享首选项或其他持久性,可以存储最后显示的消息ID,并与最后可用的ID进行比较。 但我在很多应用程序中都看到了这一功能,所以我认为有一种“标准方法

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

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

问候
Michael

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

在项目中包含插件

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
});

通过package\u infopackage,您可以了解应用程序的当前版本。 如果用户通过发布中心(如google play)更新应用程序,则存储在SharedReference中的信息将保留。因此,您可以将应用程序的版本保存在SharedReference中,每次应用程序打开时,检查当前版本是否与SharedReference中保存的信息相同,无需显示发行说明,但如果当前版本高于存储的版本,则显示发行说明并使用新版本更新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

}

谢谢你的建议;版本号的比较显然更容易创建和记住唯一的消息ID。评论:您能在解释文本中添加一些标点符号吗?这很难理解。