我将我的应用添加到Google Play。
我想弹出一个对话框,在用户启动应用程序时提醒用户,如果有新的更新,用户可以点击“更新”然后跳转到Google Play。
我看到了以下问题,但不幸的是答案已经不再适用了。
How to get application version from 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();
}
}
}
}
您可以使用firebase远程配置。有关更多详细信息,请参阅以下链接https://medium.com/@sembozdemir/force-your-users-to-update-your-app-with-using-firebase-33f1e0bcec5a
可以使用以下方法:将“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();
}
}
}
}