int version = 1;
void checkLatestVersion(){
//Here i am getting just the value of the latest version stored on firebase.
databaseReference.child("version").child("latestRealase").once().then((snapshot){
if(snapshot.value != null){
int versionNumberFromDatabase = int.parse(snapshot.value));
if(versionNumberFromDatabase>version){
print("the app needs to be updated");
//HERE you can create a dialog to display and force users to update
}else{
print("The app doesn't to be need updated ");
}
}
});
}
7条答案
按热度按时间0sgqnhkj1#
==== 2021年12月更新
新的不错的包,推荐这一个https://pub.dev/packages/new_version
====其实在2020年6月,我们有了更多的可能性,其中包括:
**1.**在应用内进行更新。如果应用有新版本,则显示两种通知。
插件-https://pub.dev/packages/in_app_update(仅适用于Android,iOS不支持此类功能)
**2.**当应用商店中有更新版本的应用可用时,会显示一个简单的警报提示小部件或卡片。
工程Android和iOS.插件-https://pub.dev/packages/upgrader
**3.**使用Firebase应用内消息传递。它在消息和通知形式方面提供了灵活性。
https://firebase.google.com/docs/in-app-messaging
**4.**自己制作。也许比Firebase消息传递的代码更少。
dffbzjpn2#
如果你想要一个
automatic update
,不使用Google Play商店是不可能的。如果你想使用Play商店,可以使用一个插件。
in_app_update
其中包含Android应用内更新functionality他们在github上的官方示例
如果你也想要一个iOS解决方案,那就不可能了。你可以把用户重定向到AppStore。更多关于苹果应用程序可用的distribution methods的信息。
如果您有企业许可证,this方法 * 可能 * 会起作用。
然而,如果你有一个服务器在运行,那么就有一个端点来查询最新版本,另一个端点允许用户下载apk。
如果你没有服务器,可以使用github releases。
zpgglvta3#
也许这个能帮你
zlhcx6iw4#
重要说明:
如果您通过模拟器(AVD)安装应用,则不会显示更新通知,因为测试应用的应用签名密钥证书与Google Play使用的证书不同。
因此,请确保通过Google Play自己安装您的应用程序(而不是通过android studio),这样,更新通知将起作用,签署的应用程序证书与google play提供给您的应用程序的证书相同。
ldxq2e6h5#
您可以使用此软件包
https://pub.dev/packages/upgrader
将您的整个小部件 Package 在***UpgradeAlert***小部件中,如下所示-〉
如果更新可用
第一节第一节第一节第一节第一次
ztyzrc3y6#
此方法使您能够更好地控制用户的更新流,而不是依赖于第三方UI解决方案。
首先,安装upgrader软件包并使用其API获取App Store或Play Store上的当前版本。然后,将其与用户设备上当前安装的应用版本进行比较。您可以使用package_info_plus软件包执行此操作。要直接比较版本名称,请使用version软件包。最后,如果应用商店版本高于已安装版本,您可以决定要执行的操作。例如,您可以显示警报对话框、snackbar或通知消息以引导用户访问应用商店,或者您可以实现自己的UI。
以下是upgrader包的API使用方法:
yks3o0rb7#
我的实现方式是使用一个变量,并从一个数据库比较该变量。它可以是Firebase或任何其他。对于这个例子,我将使用Firebase实时数据库。
上面的例子适用于Android和iOS,但有一个包可以让你从应用本身更新应用。查看文档。
in_app_update 1.1.7
这将使用官方Android API在Android上启用应用内更新。