우려하던 대로 2019.01.02일자로 또 바뀌었네요. 내용 추가합니다.
앱에서 최신 앱 버전을 체크하기 위해 구글플레이의 링크를 이용해 따시는 경우들이 종종 있습니다.
서버가 있어 서버에 등록하고 쓴다면 좋겠지만, 앱 업데이트시 마다 변경해야 하고 서버 자체가 없는 경우도 있다보니..
편의상 아래 링크처럼 구글플레이의 앱 링크를 열어 html을 긁어서 사용하는 모양새들인데요.
언제인지는 정확히 모르겠지만... 기존에 알던 html 양식이 바뀌었습니다...;;;; (아마 2018.12월말부터??)
위 블로그에서는 2가지 방식을 권하고 있지요. jsoup을 사용하는 방식과 HttpURLConnection을 사용하는 법이요.
먼저 jsoup을 사용하는 경우 기존 아래 같은 부분이..
Elements Version = doc.select(".content");
for (Element mElement : Version) {
if (mElement.attr("itemprop").equals("softwareVersion")) {
return mElement.text().trim();
}
}
아래와 같이 바꾸시면 되고요.
Elements Version = doc.select(".htlgb").eq(3);
for (Element mElement : Version) {
return mElement.text().trim();
}
HttpURLConnection을 사용하는 방식으로 하셨을 경우는 아래의 부분을..
String startToken = "softwareVersion\">";
String endToken = "<";
아래와 같이 바꾸시면 됩니다. (2018.04.17 일자 내용 추가)
String startToken = "<div class="BgcNfc">Current Version</div><span class="htlgb"><div><span class="htlgb">";
// 2018.04.17일자 이전
// String startToken = "<div class=\"BgcNfc\">Current Version</div><div><span class=\"htlgb\">";
String endToken = "</span></div>";
또 바겼습니다. 아래와 같이 바꾸시면 됩니다. (2019.01.04 일자 내용 추가)
String startToken = "<div class=\"BgcNfc\">Current Version</div><span class=\"htlgb\"><div class=\"IQ1z0d\"><span class=\"htlgb\">";
// 2019.01.04일자 이전
// String startToken = "<div class="BgcNfc">Current Version</div><span class="htlgb"><div><span class="htlgb">";
// 2018.04.17일자 이전
// String startToken = "<div class=\"BgcNfc\">Current Version</div><div><span class=\"htlgb\">";
String endToken = "</span></div>";
다만 위와 같은 방법은 구글플레이 html 양식이 바뀐다면 또 문제가 되겠지요.
가능하시다면 번거럽더라도 다른 방법을 찾는게 맞을듯 싶습니다.
아 추가로 기존에 HttpURLConnection의 메소드 타입을 GET, POST 상관없이 구글플레이 html을 받아올 수 있었는데요.
오늘 확인해보니 POST로 할 경우 html을 받아올 수 없더군요. GET으로 하셔야 합니다.
이상 구글플레이에서 앱 버전 따기 간단히 남겨봅니다.
'Android개발 > Tips' 카테고리의 다른 글
[Android][EditText] inputType 에 textVisiblePassword 설정에 따른 제조사별 키보드 차이 (0) | 2019.06.04 |
---|---|
[Android][Fabric] Fabric Gradle Plugin 이슈 (2019.03.18) (0) | 2019.03.19 |
[GooglePlay] 업로드 오류 이슈 (0) | 2019.03.14 |
[Android][WebView] ERR_CLEARTEXT_NOT_PERMITTED 오류 (9) | 2018.08.20 |
안드로이드 OS 버전 비교 (0) | 2017.12.11 |