提问者:小点点

如何通知用户应用更新?[关闭]


想要改进这个问题?更新问题,使其仅通过编辑这篇文章专注于一个问题。

我是编程新手,我只想问一下是否有人可以帮助我解决我的问题。我已经构建了一个应用程序,它现在在Play商店中,我只是想知道如何向应用程序的用户发送通知更新?

我只想在用户打开应用程序时向他们弹出一个弹出窗口。并告诉他们“这个应用程序有一个较新版本。单击此处更新”,然后它会将他们带到应用商店。谢谢!


共3个答案

匿名用户

谷歌没有官方API可以告诉您更新。

相反,您可以拥有自己的API返回当前版本,并在应用程序端检查现有版本以显示更新对话框。

你也可以使用一些工具,如leanplum等来做到这一点。

匿名用户

第一件事让OS自己,如果用户已经设置了"自动更新"首选项为您的应用程序,谷歌播放会照顾它。

如果您希望用户在应用程序启动时了解更新,您可以做的最好的事情是首先更新服务器上的版本号,并在应用程序启动时检查版本号,如果服务器上的版本代码较高,那么您的应用程序需要更新,您可以相应地告诉用户在onCreate中的第一个活动/启动活动中执行此操作。

如果你想让这一切发生,没有任何编码的东西看这里

快乐编码。

匿名用户

使用asynctask从此代码检查您的新应用程序版本

@Override
protected String doInBackground(Void... voids) {

String newVersion = null;
try {
    newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + MainActivity.this.getPackageName() + "&hl=it")
            .timeout(30000)
            .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
            .referrer("http://www.google.com")
            .get()
            .select(".hAyfc .htlgb")
            .get(7)
            .ownText();
    return newVersion;
} catch (Exception e) {
    return newVersion;
}
}

@Override
protected void onPostExecute(String onlineVersion) {
super.onPostExecute(onlineVersion);

Log.d("update", "playstore version " + onlineVersion);
}

从这里检查你的当前版本

PackageManager manager = getPackageManager();
PackageInfo info = null;
try {
    info = manager.getPackageInfo(getPackageName(), 0);
} catch (PackageManager.NameNotFoundException e) {
    e.printStackTrace();
}
assert info != null;
version = info.versionName;

如果两个版本不匹配,则向用户显示警报对话框