想要改进这个问题?更新问题,使其仅通过编辑这篇文章专注于一个问题。
我是编程新手,我只想问一下是否有人可以帮助我解决我的问题。我已经构建了一个应用程序,它现在在Play商店中,我只是想知道如何向应用程序的用户发送通知更新?
我只想在用户打开应用程序时向他们弹出一个弹出窗口。并告诉他们“这个应用程序有一个较新版本。单击此处更新”,然后它会将他们带到应用商店。谢谢!
谷歌没有官方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;
如果两个版本不匹配,则向用户显示警报对话框