profile image

L o a d i n g . . .

반응형

Android Force Update Check ~ Google InApp update lib

 

앱을 업데이트 했는데 강제로 업데이트 해야 하거나 업데이트을 하였다고 사용자에게 알려주어야 하고 싶거나 그럴 때가 있다.

 

api를 통해서 관리를 할 수 있으나 이런 api조차 없는 개인 개발자일 경우 google의 inapp update 라이브러리르 사용하면 된다.

// google inApp update
implementation 'com.google.android.play:core:1.10.3'

간단하게 gradle에 추가를 해준 후 바로 구현 시작

private fun isAppUpdateAble(context: Context): Boolean {
        var isUpdate = false
        val appUpdateManager = AppUpdateManagerFactory.create(context)
        val appUpdateInfoTask = appUpdateManager.appUpdateInfo
        appUpdateInfoTask.addOnSuccessListener {
            isUpdate = if (it.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                && it.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)
            ) {
                Util.LogD("inApp Update", "업데이트 가능")
                true
            } else {
                Util.LogD("inApp Update", "업데이트 불가능")
                false
            }
        }
        return isUpdate
    }

나는 간단하게 업데이트가 가능한지만 구현을 하였고. 위 라이브러리를 이용하면 앱 업데이트까지 가능하다.

 

강제 업데이트와 선택 업데이트 둘 모두 가능하며, 커스텀 하여 업데이트 진행바도 구현이 가능하다.

 

versionName으로 구분하는 것이 아닌 versionCode로 구분을 하여 versionCode를 관리를 하여야 위 라이브러리가 사용할 수 있을 듯 싶다.

 

앱을 업데이트 하더라고 기기마다 혹은 사용자마다 플레이스토어에 업데이트 되는 시점이 다르기 때문에 사용자마다 함수의 결과값은 다르다.

 

그래서 오히려 api로 관리하는 것보다 더 정확하게 확인이 가능하다.

반응형
복사했습니다!