[Android ] FireBase Remote Config 사용
시작하기
개발환경
- MAC OS BigSure
- Android Studio 4.1.3
FireBase RemoteConfig란?
개념적인 설명보다... 편한 이해를 위해 예를 들어 사용하자면 아래와 같이 많은 앱에서 배너로 쓰이는 문구가 있다고 가정해보자
그런데 이러한 문구가 어느 시점에선 바뀌어야 한다면 어떻게 해야할까? 보통 앱은 서버를 두고, 서버와 통신을 해서 배너 문구를 가져와 한다. 하지만 이러한 간단한 수정의 경우 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)를 화면 보여주는 코드이다.
이렇게 하면 별도의 서버를 구축할 필요없이 간단한 데이터 통신이 가능한듯 ㅎ,.ㅎ