Notice
Recent Posts
Recent Comments
Link
투케이2K
697. (Android/Java) [In App Update : 인앱 업데이트] AppUpdateManager 사용해 구글 플레이스토어 앱 업데이트 가능 여부 확인 본문
Android
697. (Android/Java) [In App Update : 인앱 업데이트] AppUpdateManager 사용해 구글 플레이스토어 앱 업데이트 가능 여부 확인
투케이2K 2023. 11. 24. 20:32[개발 환경 설정]
개발 툴 : AndroidStudio
[소스 코드]
// ---------------------------------------------------------------
// [로직 처리 실시]
// ---------------------------------------------------------------
try {
/**
* -----------------------------------------------
* [기능 구현 설명]
* -----------------------------------------------
* 1. AppUpdateManager : 인앱 업데이트 기능을 수행할 수 있는 앱 업데이트 매니저 입니다
* -----------------------------------------------
* 2. AppUpdateManager 기능을 사용해 인앱 업데이트를 수행하기 위해서는 (구글 플레이스토어) 에 정상적으로
* 앱이 배포 되어 있는 상태여야 합니다
* -----------------------------------------------
* 3. 필요 라이브러리 : [프로젝트 구성 소스코드 여부에 따라서 Java 및 Kotlin 선택 필요]
*
* implementation 'com.google.android.play:app-update:2.0.1' // [Select Java]
* implementation 'com.google.android.play:app-update-ktx:2.0.1' // [Select Kotlin]
* -----------------------------------------------
* 4. 참고 사이트 :
*
* https://developer.android.com/guide/playcore/in-app-updates/kotlin-java?hl=ko
* -----------------------------------------------
* */
// [AppUpdateManager 인스턴스 생성]
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(A_Intro.this);
// [앱 업데이트를 확인하는데 사용되는 Task<AppUpdateInfo> 선언]
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
// [이벤트 리스너를 사용해 앱 업데이트 가능 상태 확인]
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
S_Log._D_("appUpdateInfoTask :: addOnSuccessListener", new String[]{
appUpdateInfo.toString()
});
// [업데이트할 앱 버전이 있는 경우] : [Playstore 에 새 업데이트가 있고 기기의 현재 앱 버전이 Playstore 의 앱 버전보다 낮은 경우 true 리턴]
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE) {
// [추가 로직 처리 필요]
}
}).addOnFailureListener(error -> {
S_Log._E_("appUpdateInfoTask :: addOnFailureListener", new String[]{
error.getMessage()
});
}).addOnCompleteListener(command -> {
S_Log._D_("appUpdateInfoTask :: addOnCompleteListener", new String[]{
"isComplete :: " + String.valueOf(command.isComplete())
});
});
}
catch (Exception e){
e.printStackTrace();
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.javaproject.A_Intro.lambda$onCreate$2(A_Intro.java:352)]
I/: ----------------------------------------------------
I/: [LOG :: NOW TIME :: 2023-11-24 09:09:38 금요일]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: appUpdateInfoTask :: addOnCompleteListener]
I/: ----------------------------------------------------
I/: [LOG :: isComplete :: true]
D///===========//: ================================================
반응형
'Android' 카테고리의 다른 글
Comments