如何获取Xamarin Android的游戏商店版本号

时间:2018-03-30 12:27:15

标签: xamarin.forms xamarin.android

我在Play商店有我的应用程序。我想在新版本可用时强制更新用户。为了实现这一点,我想在应用程序启动时比较当前安装的应用程序版本和Play商店的版本。 Looking up version and forcing an update in xamarin 但我没有在响应中获得任何// div [@itemprop =' softwareVersion']标记。因此我没有从Play商店获得版本号。有没有办法在Play商店中获取当前版本。

2 个答案:

答案 0 :(得分:2)

希望Google不会更改显示应用详细信息的当前格式,以下是您需要对代码应用以获取当前版本的更改:

 @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:containsOwn(Current Version)").next().text();

    } catch (IOException e) {
        e.printStackTrace();
    }
    return new JSONObject();
}

答案 1 :(得分:0)

Google更改了Google Play网页的来源并删除了&#34; softwareVersion&#34;标签。 根据这个帖子:Google playstore app version check not working any more 如果您要添加新的类似&#34; 新版本1.0.000 < / strong> 任何文字&#34; 那么你可以这样做

newVersion = Jsoup.connect("https://play.google.com/store/apps/details?id=" + MainActivity.myPackageName + "&hl=en")
                .timeout(10000)
                .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")
                .followRedirects(true)
                .get()
                .select("content:contains(New Version)")
                .text()
                .split("Version")[1]
                .split(" ")[1]

您将获得没有空格的完整版本名称。

  

我推荐&#34;新的&#34;方法,因为没有人知道谷歌下次会在网站来源中改变什么。