Notice
Recent Posts
Recent Comments
Link
투케이2K
229. (AndroidStudio/android/java) 안드로이드 파이어베이스 리모트 서비스 (firebase remote config) 사용해 앱 최신 버전 관리 실시 본문
Android
229. (AndroidStudio/android/java) 안드로이드 파이어베이스 리모트 서비스 (firebase remote config) 사용해 앱 최신 버전 관리 실시
투케이2K 2021. 12. 7. 15:06[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : java
[소스 코드]
// TODO [파이어베이스 리모트 앱 최신 버전 체크]
public void checkUpdateMobileVersion() {
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[A_Intro >> checkUpdateMobileVersion() :: 파이어베이스 리모트 앱 최신 버전 체크 수행]");
Log.d("//===========//","================================================");
Log.i("---","---");
/**
* [사전 필요 사항]
* 1. 파이어베이스 안드로이드 프로젝트 생성
* 2. 파이어베이스 콘솔 사이트 Remote Config 메뉴에서 >> app_version_aos [key] 생성 필요
* 3. build.gradle (의존성) :
* - implementation 'com.google.firebase:firebase-config:19.1.4'
* - implementation 'com.google.firebase:firebase-analytics:17.4.3'
* 4. 파이어베이스 참고 사이트 :
* - https://firebase.google.com/docs/remote-config/get-started?platform=android&hl=ko
* */
try {
// [파이어베이스에 등록된 key 정의]
String key = "app_version_aos";
String value = "0.0.0";
// [파이어베이스 리모트 객체 생성 실시]
FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings
.Builder()
.setMinimumFetchIntervalInSeconds(0)
.build();
// [해당 키값이 없을 경우 디폴트 값 삽입]
HashMap defaultMap = new HashMap <String, String>();
//defaultMap.put("app_version_aos", "0.0.0");
defaultMap.put(key, value);
config.setDefaultsAsync(defaultMap);
config.setConfigSettingsAsync(configSettings);
// [최신 앱 버전 확인 이벤트 리스너 수행 실시]
config.fetchAndActivate().addOnCompleteListener(
A_Intro.this, // [액티비티]
new OnCompleteListener<Boolean>() { // [이벤트 리스너]
@Override
public void onComplete(@NonNull Task<Boolean> task) {
if (task.isSuccessful()) { // [해당 키값 확인 성공]
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[A_Intro >> checkUpdateMobileVersion() :: 파이어베이스 리모트 앱 최신 버전 체크 성공]");
Log.i("","\n"+"[version :: "+String.valueOf(config.getString("app_version_aos"))+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
}
else { // [해당 키값 확인 실패]
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[A_Intro >> checkUpdateMobileVersion() :: 파이어베이스 리모트 앱 최신 버전 체크 실패]");
Log.i("","\n"+"[default :: "+String.valueOf(defaultMap.toString())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
});
}
catch (Exception e){
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[A_Intro >> checkUpdateMobileVersion() :: 파이어베이스 리모트 앱 최신 버전 체크 에러]");
Log.i("","\n"+"[catch :: "+String.valueOf(e.getMessage())+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
}
}
[결과 출력]
반응형
'Android' 카테고리의 다른 글
Comments