Как получить последнюю версию приложения из Google Play? - PullRequest
0 голосов
/ 07 сентября 2018

Я добавил свое приложение в Google Play.

Я хочу открыть диалоговое окно, чтобы напомнить пользователю, когда пользователь запускает приложение, если есть новое обновление, пользователь может нажать «обновить» и затем перейти к Google Play.

Я видел следующий вопрос, но, к сожалению, ответ больше не работает.

Как получить версию приложения из Google Play?

Похоже, Google не предоставляет API для получения версии приложения.

Я давно ищу в сети. Говорят, что многие ответы получают номер версии через Jsoup, но сейчас бесполезны. Пожалуйста, помогите или попробуйте дать некоторые идеи, как этого добиться.

Вот два метода, которые я попробовал:

(1)

newVersionName = Jsoup.connect("https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID + "&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();

(2)

         Document document = Jsoup.connect("https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID + "&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();

            if (document != null) {
                Elements element = document.getElementsContainingOwnText("Current\\sVersion");
                for (Element ele : element) {
                    if (ele.siblingElements() != null) {
                        Elements sibElemets = ele.siblingElements();
                        for (Element sibElemet : sibElemets) {
                            newVersionName = sibElemet.text();
                        }
                    }
                }
            }

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Возможен следующий метод: заменить «Current \\ sVersion» на «Current Version»:

     Document document = Jsoup.connect("https://play.google.com/store/apps/details?id=" + BuildConfig.APPLICATION_ID + "&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();

        if (document != null) {
            Elements element = document.getElementsContainingOwnText("Current Version");
            for (Element ele : element) {
                if (ele.siblingElements() != null) {
                    Elements sibElemets = ele.siblingElements();
                    for (Element sibElemet : sibElemets) {
                        newVersionName = sibElemet.text();
                    }
                }
            }
        }
0 голосов
/ 07 сентября 2018

Вы можете использовать удаленную конфигурацию Firebase. для более подробной информации, пожалуйста, обратитесь по ссылкам ниже https://medium.com/@sembozdemir/force-your-users-to-update-your-app-with-using-firebase-33f1e0bcec5a

...