Firebase Remote Config 활용하기
Remote Config는 특정한 config 값 빌드(실행파일)에 포함하지 않고 외부에서 변경할 수 있게 하는 시스템이다.
관리자 페이지에서 Config 값을 변경하면 Config 값을 읽도록 구성되어있는 서비스에서 Fetch를 받게 되면 변경된 값을 가져올 수 있다. Firebase에서는 기본적으로 JSON을 기본 형태로 적용되기 때문에 Key, Value를 기본으로 입력해야 한다.
< Firebase Remote Config 설정 하기 >
Firebase 참고 URL : [원격 구성]
Firebase에서 설정값을 넣으면 해당 값에 대한 가져오는 코드를 처리해야 한다.
반응형
가이드에 보면 Default 값을 명시하라고 되어있어서 계정을 생성하는 순간에 값을 초기화해준다.
그리고 Fetch를 받는 코드를 작성해서 테스트해본다.
< Remote Config 값을 불러오는 코드 >
//Remote Config
System.Collections.Generic.Dictionary<string, object> defaults = new System.Collections.Generic.Dictionary<string, object>();
defaults.Add("AppVersion", "");
Firebase.RemoteConfig.FirebaseRemoteConfig.SetDefaults(defaults);
public void UpdateFetchRemoteConfig()
{
var settings = Firebase.RemoteConfig.FirebaseRemoteConfig.Settings;
settings.IsDeveloperMode = true;
Firebase.RemoteConfig.FirebaseRemoteConfig.Settings = settings;
System.Threading.Tasks.Task fetchTask = Firebase.RemoteConfig.FirebaseRemoteConfig.FetchAsync(new System.TimeSpan(0));
fetchTask.ContinueWith(task => {
if (task.IsCanceled || task.IsFaulted)
{
Debug.LogError("Faild.");
}
else
{
string configString = Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue("AppVersion").StringValue;
configInfo = JsonUtility.FromJson<FirebaseConfig>(configString);
Debug.LogFormat("Completed :{0}", configString);
}
Firebase.RemoteConfig.FirebaseRemoteConfig.ActivateFetched();
});
}
< Remote Config 값 변경 확인 >
값을 변하고 정상적으로 패치가 되는지 확인해본다.
"IOS_Version = 1.0.1"에서 "IOS_Version = 1.2.3"으로 변경하고 다시 Fetch를 받아본다.
중간에 값이 정상적으로 바뀐 것을 확인할 수 있다.
재 빌드를 하지 않아도 값 변경을 진행이 가능해서, 버전 관리 및 특정 값(광고 노출값, 특정 자주 변경이 되는 값 )등을 관리하는 과정에서 좀 더 수월하다.
실시간으로 바뀌는것보다는 특정 시점과 배포의 시간이 일정하지 않다는 것을 고려해서 사용해야 한다.
★★★☆☆
반응형
댓글