我用Flutter创建了一个应用程序。当我上传新版本时,我需要强制用户更新应用程序。我尝试了这个包,但我认为它不起作用。在文档中,我们可以看到我们可以使用此代码验证版本。
Container(
margin: EdgeInsets.fromLTRB(12.0, 0.0, 12.0, 0.0),
child: UpgradeCard();
)
Run Code Online (Sandbox Code Playgroud)
问题是:我需要检查 *'initState' 中的版本,而不是Scaffold。那么在应用程序启动时检查版本的正确方法是什么?
Dom*_*ski 14
我建议尝试Firebase 远程配置并在那里更新所需的最低版本。在商店中的每次更新时强制更新应用程序并不是一个好习惯。此外,某些用户可以比其他用户更晚在给定商店中看到更新版本。这就是 Google Play 和 AppStore 的工作方式。
因此,当您确实需要强制更新应用程序时,您可以在 Firebase 上增加参数,例如在商店更新后一天。
触发对话框的简单代码如下所示:
Future<bool> checkUpdates() async {
await remoteConfig.fetch();
await remoteConfig.activateFetched();
final requiredBuildNumber = remoteConfig.getInt(Platform.isAndroid
? 'requiredBuildNumberAndroid'
: 'requiredBuildNumberIOS');
final currentBuildNumber = int.parse(packageInfo.buildNumber);
return currentBuildNumber < requiredBuildNumber;
}
Run Code Online (Sandbox Code Playgroud)
这需要添加package_info包以及firebase_remote_config。
要在商店中打开应用程序,您需要使用url_launcher包并将 URL 传递给您的应用程序。
您可以致电https://itunes.apple.com/lookup?bundleId=$id或https://play.google.com/store/apps/details?id=$id接收商店提供的最新应用程序版本。我可以推荐这个包来做到这一点: https: //pub.dev/packages/new_version
| 归档时间: |
|
| 查看次数: |
5287 次 |
| 最近记录: |