我已将我的应用程序放在Google Play商店中.它已被我公司的许多客户安装.我理解应用程序如何升级的机制.
用户应检查playstore应用程序中的自动更新复选框,以查找要自动更新的每个应用程序.但是,有些用户已取消选中或未首先检查它.
我写的应用程序是针对护理行业的,护理人员使用它来提供家庭护理.我们的一些客户有1200名护理员.他们必须打电话给所有护理人员进入办公室以单独更新电话.这显然是不可接受的.
有没有办法以编程方式检查Play商店中是否有我的应用程序的更新版本?
我可以拥有每次用户启动检查Play商店的应用程序时运行的代码吗?如果有更新版本,则可以将用户定向到Playstore.这意味着检查自动更新并不重要.
提前致谢
马特
目前我正在检查启动时的应用版本代码,并将其与我服务器上的最新版本代码相匹配,并根据此匹配我发送用户以获取Android市场的最新更新.
它运行良好但我的问题是我必须手动更改我的服务器上的最新版本代码,我不知道APK在市场上何时激活新版本.
有没有办法直接在Android市场上检查应用程序的版本代码,以便我可以在新的apk被激活时将用户直接发送到市场?
有没有办法在不需要用户凭据的情况下查询Play商店的应用程序版本.我知道这个非正式的API:
http://code.google.com/p/android-market-api/
但我不想依赖用户凭据 - 我也可以通过Chrome也以隐身模式访问Google Play网站 - 所以它必须以某种方式可能.但是我找不到任何方法,我不想回避刮擦;-)
我想知道我的应用程序在 Android 商店中的应用程序版本。
我需要知道这一点,以便在必要时向用户显示提供更新的消息。我可以获取我安装的版本的应用程序版本(使用 cordova-plugin-app-version ),如下所示:
cordova.getAppVersion.getVersionNumber(function (version) {
console.log("la version de la app es " + version);
$scope.versi = version;
});
Run Code Online (Sandbox Code Playgroud)
但不是 Android 商店应用程序版本。
我正在寻找一种方法如何通过PC中的Java应用程序从谷歌播放应用程序版本代码和版本名称.我看到:https://androidquery.appspot.com/但它不再起作用了,https://code.google.com/archive/p/android-market-api/开始出现问题,也停止了工作,它会征服设备ID.你能帮我解决一些简单的解决方案或API吗?非常重要,我需要versionCode和VersionName,并且通过解析html google play app网站相对容易获得VersionName.versionCode非常重要.
我使用下面的代码通过使用jsoup 从playstore获取versionName我正在获取详细信息,但它抛出了一些异常.
我的代码是
public class ForceUpdateAsync extends AsyncTask<String, String, JSONObject>{
private String latestVersion;
private String currentVersion;
private Context context;
public ForceUpdateAsync(String currentVersion, Context context){
this.currentVersion = currentVersion;
this.context = context;
}
@Override
protected JSONObject doInBackground(String... params) {
try {
latestVersion = Jsoup.connect("https://play.google.com/store/apps/details?id="+context.getPackageName()+"&hl=en")
.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("div[itemprop=softwareVersion]")
.first()
.ownText();
} catch (IOException e) {
e.printStackTrace();
}
return new JSONObject();
}
@Override
protected void onPostExecute(JSONObject jsonObject) {
if(latestVersion!=null){
if(!currentVersion.equalsIgnoreCase(latestVersion)){ …Run Code Online (Sandbox Code Playgroud) 我知道如何为 Google Play 商店做到这一点(在这里回答),但我没有找到 AppGallery 的方法。谢谢你!
更新#1
使用下面的答案,我通过以下步骤部分解决了这个问题:
查询应用程序信息的响应有很多有关应用程序的信息,包括“versionNumber”,但对我来说,它不提供“versionNumber”(我需要的单个信息),因为此参数是可选的。现在我又陷入困境了,因为我不明白我需要改变什么才能收到这个。
如果有人知道我该如何解决这个问题,非常感谢您的帮助。
更新#2
@shirley 的评论是正确的。该问题已在最新版本中修复,并已于本月发布。
我正在使用下面的代码通过使用 Jsoup 获取详细信息来从 Google Play 商店获取versionName,但它抛出了一些异常,但最近它工作正常。不知道现在怎么样了?
我的代码是 -
public class VersionChecker extends AsyncTask<String, String, String> {
private String newVersion;
@Override
protected String doInBackground(String... params) {
try {
newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + ParkwayApplication.getInstance().getPackageName() + "&hl=en")
.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("div[itemprop=softwareVersion]")
.first()
.ownText();
Log.d("otherhtml", newVersion);
} catch (IOException e) {
e.printStackTrace();
}
return newVersion;
}
}
Run Code Online (Sandbox Code Playgroud)
注意 - 在上面的代码中,select()返回大小 0,当我调用first() 时,它将返回 null,这就是为什么会出现空指针异常。
注意 - 我不知道为什么它最近工作为什么现在不工作?
这里是我的链接试图和 …