[Kotlin] google play store에서 앱 버전 업데이트 확인

park_sujeong·2023년 1월 30일
0

Android

목록 보기
9/13
post-thumbnail
post-custom-banner

우리가 google play store에 앱을 등록하고 난 후 버그가 발생하거나 신규 기능이 추가되는 등의 이유로 앱을 업데이트를 해야 된다. 그때, 아무런 조치가 없다면 앱을 설치한 사용자는 구글 플레이 스토어에 들어가서 업데이트가 있는지 확인하지 않는 이상은 업데이트가 있는지조차 모를 수 있다.


이런 일을 방지하기 위해 앱이 시작될때 google play store에 업데이트가 가능한 버전이 있는지 확인하는 코드를 넣는다. 이것을 하기위해 나도 구글링하여 관련 글들을 확인하는데 다양한 방법들이 있었다. 보통의 방법은 구글 플레이 스토어의 페이지를 파싱해서 버전 코드 부분만 가지고 오는 경우가 있는데 이것은 한 가지 문제가 있다. 구글 플레이 스토어의 웹 페이지 태그가 바뀌는 경우, 파싱을 해오지 못한다는 것이다. 그래서 구글 플레이 스토어의 웹 UI가 바뀌면 태그가 바뀌었는지 확인 후 코드를 수정해야한다.


나는 저렇게 귀찮게는 하기싫었다. 그리고 분명 업데이트 관련 기능이 있을텐데라는 생각을 가지고 희망회로를 돌리면서 공식 사이트(Android Developers)에서 찾아보았다.


역시 있었다. Android Developers의 가이드에 보면 인앱 업데이트에서 내용을 확인할 수 있다. Google Play Core 라이브러리 안에 Play In-App Update라는 라이브러리를 이용하여 구글 플레이 스토어에서 앱의 유효한 업데이트가 있는지 확인 가능하다. 링크는 아래 참고문헌에 있다.






google play store에 앱 업데이트 확인 방법

  1. build.gradle(:app)에 Gradle 종속 항목을 포함시킨 후 sync now.. 클릭 (아래는 Kotlin일 경우이고 Java일 경우는 뒤에 -ktx 제거)
    dependencies {
    	...
    	implementation("com.google.android.play:app-update-ktx:2.0.1")
    }

  1. AppUpdateManager의 appUpdateInfo로 정보를 받아오는 걸 성공했을 때 이 appUpdateInfo에서 업데이트가 가능한지, 버전 코드는 몇인지 확인 가능하다.
    val appUpdateManager = AppUpdateManagerFactory.create(this)
     val appUpdateInfoTask = appUpdateManager.appUpdateInfo
    appUpdateInfoTask.addOnSuccessListener { appUpdateInfo ->
        if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
            // 유효한 업데이트가 있을 때
            // ex. 스토어에서 앱 업데이트하기
        } else {
            // 유효한 업데이트가 없을 때
            // 바로 로그인 화면이나 홈 화면 등으로 이동
        }
    }






참고문헌

profile
Android Developer
post-custom-banner

0개의 댓글