반응형
현재 앱이 업데이트가 필요한지 아닌지 판단하기 위해서는 플레이스토어에 현재 앱의 버전이 몇인지 알아내야합니다.
아래의 코드는 플레이스토어에서 등록된 앱의 최신 버전을 가져오는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | public class MarketVersionChecker { public static String getMarketVersion(String packageName) { try { Document doc = Jsoup.connect("https://play.google.com/store/apps/details?id=" + packageName).get(); Elements Version = doc.select(".htlgb").eq(3); for (Element mElement : Version) { return mElement.text().trim(); } } catch (IOException ex) { ex.printStackTrace(); } return null; } public static String getMarketVersionFast(String packageName) { String mData = "", mVer = null; try { URL mUrl = new URL("https://play.google.com/store/apps/details?id=" + packageName); HttpURLConnection mConnection = (HttpURLConnection) mUrl.openConnection(); if (mConnection == null) return null; mConnection.setConnectTimeout(5000); mConnection.setUseCaches(false); mConnection.setDoOutput(true); if (mConnection.getResponseCode() == HttpURLConnection.HTTP_OK) { BufferedReader mReader = new BufferedReader(new InputStreamReader(mConnection.getInputStream())); while (true) { String line = mReader.readLine(); if (line == null) break; mData += line; } mReader.close(); } mConnection.disconnect(); } catch (Exception ex) { ex.printStackTrace(); return null; } String startToken = "<div class="BgcNfc">Current Version</div><span class="htlgb"><div><span class="htlgb">"; String endToken = "</span></div>"; int index = mData.indexOf(startToken); if (index == -1) { mVer = null; } else { mVer = mData.substring(index + startToken.length(), index + startToken.length() + 100); mVer = mVer.substring(0, mVer.indexOf(endToken)).trim(); } return mVer; } } | cs |
다음에는 해당 코드를 사용하지 않고 파이어베이스(FireBase)의 Remote Config를 활용하는 방법을 포스팅 해보겠습니다.
반응형
'Android' 카테고리의 다른 글
[Android]투명도, 알파값 정리 (1) | 2017.09.19 |
---|---|
[Android]현재 날짜(년-월-일-시-분-초) 구하기(SimpleDateFormat) (0) | 2017.09.07 |
[Android]BindService 간단 구현 및 사용법(서비스와 액티비티 통신) (0) | 2017.08.16 |
[Android]폴더 삭제하기(하위 폴더 및 파일까지) (0) | 2017.08.13 |
[Android]Service 생명주기 (0) | 2017.08.11 |