투케이2K

716. (Android/java) [Firebase] 파이어베이스 Remote Config 리모트 컨피그 환경 설정 및 기본 Key 호출 정보 확인 본문

Android

716. (Android/java) [Firebase] 파이어베이스 Remote Config 리모트 컨피그 환경 설정 및 기본 Key 호출 정보 확인

투케이2K 2023. 12. 20. 21:08
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[설 명]

 

--------------------------------------------------------------------------
[build.gradle : Project] : 버전은 상이할 수 있음
--------------------------------------------------------------------------
buildscript {
    ext {
        kotlin_version = '1.4.0' // TODO [코틀린]
    }
    repositories {
        google()
        mavenCentral()
        jcenter()

        maven {
            url "https://maven.google.com"
        }

        maven { url "https://www.jitpack.io" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2' // TODO [Kwon]
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // TODO [파이어베이스 서비스 적용]
         classpath 'com.google.gms:google-services:4.3.3' 
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter()

        maven {
            url "https://maven.google.com"
        }

        maven { url "https://www.jitpack.io" }
    }
}
--------------------------------------------------------------------------





--------------------------------------------------------------------------
[build.gradle : Module] : 버전은 상이할 수 있음
--------------------------------------------------------------------------
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
// -------------------------------------------------
// TODO [파이어베이스 서비스]
apply plugin: 'com.google.gms.google-services' 
// -------------------------------------------------
// TODO [구글 서비스 버전 충돌 에러 해결]
googleServices { disableVersionCheck = false }
// -------------------------------------------------

android {

}

dependencies {

    // -------------------------------------------------
    // TODO [파이어베이스 의존성 추가]
    // -------------------------------------------------
    implementation 'com.google.firebase:firebase-core:20.1.+' 
    implementation 'com.google.firebase:firebase-messaging:20.1.+' 

    implementation platform('com.google.firebase:firebase-bom:29.0.0') 
    implementation 'com.google.firebase:firebase-config:21.0.+' 
    implementation 'com.google.firebase:firebase-analytics:21.0.+' 
    // ----------------------------------------------

}

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[JAVA] : 소스 코드
--------------------------------------------------------------------------

                    // [파이어베이스 리모트 객체 생성 실시]
                    FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
                    FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings
                            .Builder()
                            .setMinimumFetchIntervalInSeconds(0) // [remote config 읽어 오는 시간 : 0 == 반영 상태 즉시 확인]
                            .build();


                    // [해당 키값이 없을 경우 디폴트 값 삽입]
                    HashMap defaultMap = new HashMap <String, String>();
                    defaultMap.put("app_version_aos", "");
                    config.setDefaultsAsync(defaultMap);
                    config.setConfigSettingsAsync(configSettings);


                    // [이벤트 리스너 수행 실시]
                    config.fetchAndActivate()
                            .addOnCompleteListener(
                            (Activity) mContext, // [액티비티]
                            new OnCompleteListener<Boolean>() { // [이벤트 리스너]
                                @Override
                                public void onComplete(@NonNull Task<Boolean> task) {
                                    if (task.isSuccessful()) { // [remote config connection : success] : [config.getString("app_version_aos")]
                                    }
                                    else { // [remote config connection : fail]
                                    }
                                }
                            })
                            .addOnFailureListener(error -> {
                            });

--------------------------------------------------------------------------






--------------------------------------------------------------------------
[참고 사이트]
--------------------------------------------------------------------------

https://blog.naver.com/kkh0977/222589044672

https://blog.naver.com/kkh0977/222588973822

https://firebase.google.com/docs/remote-config/get-started?platform=android&hl=ko%20%5B%EC%B6%9C%EC%B2%98%5D%20229.%20(AndroidStudio%2Fandroid%2Fjava)%20%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%20%ED%8C%8C%EC%9D%B4%EC%96%B4%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%EB%A6%AC%EB%AA%A8%ED%8A%B8%20%EC%84%9C%EB%B9%84%EC%8A%A4%20(firebase%20remote%20config)%20%EC%82%AC%EC%9A%A9%ED%95%B4%20%EC%95%B1%20%EC%B5%9C%EC%8B%A0%20%EB%B2%84%EC%A0%84%20%EA%B4%80%EB%A6%AC%20%EC%8B%A4%EC%8B%9C%7C%EC%9E%91%EC%84%B1%EC%9E%90%20%ED%88%AC%EC%BC%80%EC%9D%B42K

--------------------------------------------------------------------------

 

반응형
Comments