본문 바로가기

Kotlin

[코틀린/Android] 안드로이드 코틀린 AppUpdateManager

반응형

안드로이드 앱 개발 시 앱을 주기적으로 업데이트하여 등록하여 디버깅 혹은 기능을 추가하는 경우가 많다.

 

이 경우 앱이 업데이트 되었음을 사용자에게 알려줘야 하며, 지속적인 업데이트를 할 수 있도록 조치해주어야 한다.

 

앱을 업데이트 하는 방식은 알려주거나, 사용자가 직접 구글 플레이 스토어에서 업데이트를 진행하는 방식 이렇게 2가지 방식이 존재하는데, 소개하는 방식은 앱 실행 시 자동으로 업데이트가 될 수 있도록 하는 방식이다.

 

해당 방법 관련 링크를 아래에 첨부하며 자신에게 맞는 방식을 선택해서 진행하면 될 것 같다. 

 

 lateinit var appUpdateManager : AppUpdateManager
 
 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main_home)
        
          appUpdateManager = AppUpdateManagerFactory.create(this)

        appUpdateManager?.let {
            it.appUpdateInfo.addOnSuccessListener { appUpdateInfo ->

                if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
                        && appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
                    // or AppUpdateType.FLEXIBLE
                    appUpdateManager?.startUpdateFlowForResult(
                            appUpdateInfo,
                            AppUpdateType.IMMEDIATE, // or AppUpdateType.FLEXIBLE
                            this,
                            REQUEST_CODE_UPDATE
                    )
                }
            }
        }



    }


 

위의 방식은 앱을 실행하는 경우 현재 앱의 업데이트 상태를 확인하고 앱 상태 확인 후, 업데이트 여부를 결정한다.

만약 업데이트가 필요한 경우라면 화면 상에 업데이트 창을 띄어주고 업데이를 진행할 수 있도록 해준다. 

 

아래 링크는 해당 업데이트 기능을 개발하면서 참고했던 업데이트 관련 링크이다.

 

black-jin0427.tistory.com/212

 

[in-app updates] 안드로이드 인 앱 업데이트 사용기

안녕하세요. 블랙진입니다. 2019 구글 IO에서 발표한 내용중 인 앱 업데이트에 대한 사용기를 소개해 볼려고 합니다. In-App Update 새로운 버전의 앱을 구글 스토어에 등록했을 때 알림을 통해 사용

black-jin0427.tistory.com

 

m.blog.naver.com/m950827/221817274754

 

[Android] JAVA 인앱 업데이트, 강제 앱 업데이트 (IMMEDIATE)

https://developer.android.com/guide/app-bundle/in-app-updates?hl=ko​코드가 어려운게 아니라 테...

blog.naver.com

velog.io/@twkim8548/Android-In-App-Update

 

Android - In App Update

안드로이드 인 앱 업데이트 적용기

velog.io

 

 

해당 기능을 테스트 할 때 주의할점은 먼저 빌드 된 앱이 아닌, 구글 플레이스토어를 통해 다운받아야한다.

구글 플레이스토어에서 다운 받은 앱과 업데이트 할 앱의 ID가 동일해야 적용이 되므로 이점 유의해야 한다.

 

해당 구글 플레이스토어에서 다운로드 후, 만약 앱 업데이트가 정상적으로 동작하는지 확인하고 싶다면,

구글 플레스토어에서 다운 받은 후, 빌드를 진행할때 버전코드와 관련 된 값을 반드시 구글측에 업데이트 한 버전보다

낮은 숫자로 등록해서 테스트를 진행하면 된다.

 

해당 방법 외에도 FakeAppUpdateManager 라는 방식도 존재한다. 

안드로이드 개발자 홈페이지에 기재되어 있으니, 필요한 경우 해당 부분을 확인하고 진행하면 될 것 같다. 

developer.android.com/reference/com/google/android/play/core/appupdate/testing/FakeAppUpdateManager

 

FakeAppUpdateManager  |  Android 개발자  |  Android Developers

FakeAppUpdateManager public class FakeAppUpdateManager extends Object implements AppUpdateManager java.lang.Object    ↳ com.google.android.play.core.appupdate.testing.FakeAppUpdateManager A fake implementation of the AppUpdateManager. This implementat

developer.android.com

 

반응형