Published 2022. 6. 24. 13:23
반응형
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로 관리하는 것보다 더 정확하게 확인이 가능하다.
반응형
'[# 2]…My DevelopStory' 카테고리의 다른 글
Android kotlin pair ~ How to modify a value in a pair (0) | 2022.06.29 |
---|---|
Android Log Lib ~ Timber Lib (0) | 2022.06.29 |
Android exoplayer get play state (0) | 2022.06.23 |
Android TextView String resource bold / textView set html (0) | 2022.06.23 |
Android TabLayout, Viewpager2 selected tab text bold (0) | 2022.06.21 |