개발/Android

[Android ] FireBase Remote Config 사용

삽쟁이 2021. 5. 12. 13:44
반응형

시작하기

개발환경
- MAC OS BigSure
- Android Studio 4.1.3

FireBase RemoteConfig란?

Firebase 원격 구성
앱 업데이트를 게시하지 않고도 일일 활성 사용자 수 제한 없이 무료로 앱의 동작과 모양을 변경할 수 있습니다.
firebase.google.com

개념적인 설명보다... 편한 이해를 위해 예를 들어 사용하자면 아래와 같이 많은 앱에서 배너로 쓰이는 문구가 있다고 가정해보자

그런데 이러한 문구가 어느 시점에선 바뀌어야 한다면 어떻게 해야할까? 보통 앱은 서버를 두고, 서버와 통신을 해서 배너 문구를 가져와 한다. 하지만 이러한 간단한 수정의 경우 FireBase의 RemoteConfig를 통해서 개발한다면 간단하게 개발을 진행 할 수 있다.

FireBase 접속 후, 앱만들기

firebase console 접속 후, Firebase Project를 추가하자.
프로젝트 이름을 입력 후, 스무스하게 다음을 누르다 보면 완료가 될것이다.
프로젝트 생성이 완료되었다면 프로젝트 클릭 후, 해당 화면에서 안드로이드 로고를 클릭해보자!

자 여기서 부터는 조금 중요한 내용이 포함 되어 있다.
1단계 여기서 중요한것은 Android 패키지 이름을 자신의 안드로이드 앱의 패키지 명과 같아야한다는 것

2단계 저 버튼 눌러서 파일 다운받아야한다는 것

마지막, 저기서 추가하라는 대로 gradle에 dependency 추가 할것

RemoteConfig Data 생성

표시된 Remote config 메뉴로 들어간다.

매개변수 추가 버튼을 클릭하여, 받아올 데이터의 이름과 값을 넣어 준다(참고로 값의 경우 json 형태로 만들어도 좋다.)

값을 추가, 변경했을 경우 상단에 "변경사항 게시"버튼이 나오니 완료 되었다면 변경사항을 게시하자.

Android 앱에 적용하기

그림과 같이 App 폴더 안에 다운 받은 google-service.json 파일을 옮긴다. 그리고 위 안내 처럼 gradle에 dependency를 추가 완료 한다.

        val remoteConfig = Firebase.remoteConfig
        remoteConfig.setConfigSettingsAsync(             
          remoteConfigSettings {                 
            minimumFetchIntervalInSeconds = 0
            }
        )
          remoteConfig.fetchAndActivate().addOnCompleteListener {
          		if (it.isSuccessful) {
                  val quotes = parseQuotesJson(remoteConfig.getString("quote"))
                  val isNameRevealed = remoteConfig.getBoolean("is_name_revealed")
                } else {
                  Log.d("kyh",it.exception.toString())
                }
          }
		}

remoteConfig객체를 생성 후, 기본 셋팅을 한다.
그 후, remoteConfig.fetchAndActivate() 함수를 통해 서버에 등록한 데이터를 가져 오도록 하자.

마무리

위에서 가져온 서버에 등록된 텍스트(json data)를 화면 보여주는 코드이다.

이렇게 하면 별도의 서버를 구축할 필요없이 간단한 데이터 통신이 가능한듯 ㅎ,.ㅎ 

반응형