Flutter: отображение журнала изменений / примечаний к выпуску / "Что нового" после обновления до новой версии приложения
В настоящее время я ищу, как я могу реализовать следующую функцию с приложениями Flutter для Android и IOS: когда приложение открывается в первый раз после обновления версии, я хотел бы показать диалог с информацией о том, что нового в новая версия / что было исправлено и т. д. - какие-то примечания к выпуску.
Я знаю разные способы показать этот диалог при запуске приложения; но как я могу гарантировать, что это будет сделано только один раз после изменения версии приложения? Я думал о том, чтобы сохранить сообщения с различными версиями в виде текстов на удаленном сервере и присвоить им уникальный идентификатор; с помощью общих настроек или другого постоянного идентификатора последнего показанного сообщения можно сохранить и сравнить с последним доступным. Но я вижу эту функцию во многих приложениях, и полагаю, что есть "стандартный способ" сделать это или, возможно, пакет, который это поддерживает.
С уважением Майкл
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
});
по пакету 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
}