Я работаю над проектом, который требует от меня сравнения версии приложения. В настоящее время я использую package_info_plus
, чтобы получить текущую версию приложения, но мне все еще не удается получить последнюю версию из Play Store. Могу ли я каким-либо образом прочитать номер последней версии из Play Store, используя мой идентификатор приложения?
@ShouaUlQammar сейчас нет, не поделитесь своим подходом?
я всегда добавляю API конфигурации, где я возвращаю объект для последней версии, где одно свойство определяет его последнюю версию, а второе определяет, требуется ли обновление или нет
Ответ API выглядит так
{ "последняя версия": "1.2.3", «isUpdateRequired»: правда }
Упомянутый Config API?
извини, я не понял твоего грубого приятеля!, пожалуйста, спрашивай четко
_checker.checkUpdate().then((value) {
print(value.canUpdate); //return true if update is available
print(value.currentVersion); //return current app version
print(value.newVersion); //return the new app version
print(value.appURL); //return the app url
print(value.errorMessage); //return error message if found else it will return null
});
только что попробовал этот пакет на своем прототипе, мое приложение вылетает после добавления этого пакета в pubspec.yaml
Используйте следующую функцию, чтобы очистить версию из списка страниц:
Future<String> _checkPlayStore(String packageName) async {
final uri =
Uri.https("play.google.com", "/store/apps/details", {"id": packageName});
late String latestVersion;
final response = await http.get(uri);
if (response.statusCode != 200) {
throw HttpException(
"Can't get the version number, check that the package name is correct.");
} else {
latestVersion =
RegExp(r',\[\[\["([0-9,\.]*)"]],').firstMatch(response.body)!.group(1)!;
}
return latestVersion;
}
Я попробовал получить версию приложения из магазина с помощью другого пакета (new_version_plus), и это работает:
final newVersion = NewVersionPlus();
var status = await newVersion.getVersionStatus();
var storeVersion = status?.storeVersion;
вы используете какой-то бэкэнд? API? у меня есть лучший подход для этого!