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

}
Другие вопросы по тегам