고똘이의 IT 개발이야기

[Android] 앱버전과 마켓 버전 비교


안녕하세요. 이번에는 playstore에 자신의 앱을 출시 하고 앱버전을 올려서 업데이트를 할때

현재 앱버전과 마켓의 앱버전을 비교하여 마켓으로 이동하여 업데이트를 권장 하는 소스입니다.


아래 소스를 보시면 STORE_URL이 있는데 id=넥슨 패키지를 넣었구요. 

실제로 사용자의 앱 패키지를 넣으면 됩니다.


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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
private class versionCheck extends AsyncTask<Void, Void, String> {
        private AppCompatActivity appCompatActivity = new AppCompatActivity();
        private final String APP_VERSION_NAME = BuildConfig.VERSION_NAME;
        private final String APP_PACKAGE_NAME = BuildConfig.APPLICATION_ID;
  
        private final String STORE_URL = "https://play.google.com/store/apps/details?id=com.nexon.axe"// nexon를 예를 들었습니다.
 
 
 
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
        }
 
        @Override
        protected String doInBackground(Void... params) {
            try{
                Document doc = Jsoup.connect(STORE_URL).get();
 
                Elements Version = doc.select(".htlgb");
 
                for (int i = 0; i < Version.size(); i++) {
 
                    String VersionMarket = Version.get(i).text();
 
                    if (Pattern.matches("^[0-9]{1}.[0-9]{1}.[0-9]{1}$", VersionMarket)) {
 
                        return VersionMarket;
                    }
                }
            }catch(IOException e){
                e.printStackTrace();
            }
 
            return null;
        }
 
        @Override
        protected void onPostExecute(String s) { //s는 마켓의 버전입니다.
            if(s != null){
                if(!s.equals(APP_VERSION_NAME)){ //APP_VERSION_NAME는 현재 앱의 
                    mDialog.setMessage("최신 버전이 출시되었습니다. 업데이트 후 사용 가능합니다.")
                            .setCancelable(false)
                            .setPositiveButton("업데이트 바로가기",
                                    new DialogInterface.OnClickListener() {
                                        public void onClick(DialogInterface dialog,
                                                            int id) {
                                            Intent marketLaunch = new Intent(
                                                    Intent.ACTION_VIEW);
                                            marketLaunch.setData(Uri
                                                    .parse(STORE_URL));
                                            startActivity(marketLaunch);
                                            finish();
                                        }
                                    });
                    AlertDialog alert = mDialog.create();
                    alert.setTitle("업데이트 알림");
                    alert.show();
                }
            }
            super.onPostExecute(s);
        }
    }
 
 
cs



이상입니다.

유용하셨다면 좋아요와 댓글도 달아주시면 감사하겠습니다.


- 추천글

[Java]자바 Map, HashMap 사용법 & 예제 (간단)

[Spring, Java] 스프링, 자바 세션 설명 및 사용법(간단)

[Jquery] 제이쿼리 Ajax 설명 사용법 및 예제(간단)



이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band