Android Firebase Remote Config 시도
Firebase Remote Config 개요
Firebase의 기능 중 하나로 Firebase 컨트롤러에서 값을 조작하여 응용 프로그램에 간단하게 반영할 수 있다.
boolean, String, Long형에서 키를 지정하고value의 간단한 구조를 받아들입니다.
무료로 사용할 수 있습니다.
※ 작성하는 도중에 이쪽 기사Firebase Remote Config for Android의 핵심 요소가 공개되고 내용이 끼워졌지만 아쉽게도 공개가 되었습니다...
사용 방법
지금 참조 견본 구현
Firebase의 기초는 내장된 전제 조건이다.
gradle dependencies에 추가
build.gradle compile 'com.google.firebase:firebase-config:9.0.2'
다음은fab에 따라remoteConfig의 값을 출력하고,button에 따라remoteConfig의 값을 업데이트하는 간단한 예입니다. FirebaseRemoteConfig mFirebaseRemoteConfig;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//instance取得
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
//デベロッパーモード指定
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.build();
mFirebaseRemoteConfig.setConfigSettings(configSettings);
//デフォルトの値を読み込む
mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, mFirebaseRemoteConfig.getString("test_string"), Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
Button button = (Button) findViewById(R.id.fetch_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//更新
fetch();
}
});
}
private void fetch() {
int cacheTime = mFirebaseRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled() ? 0 : 60 * 60;// Cache時間設定(秒)
mFirebaseRemoteConfig.fetch(cacheTime)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//値を反映
mFirebaseRemoteConfig.activateFetched();
} else {
//fetch失敗
}
}
});
}
remote_config_defaults.xml<?xml version="1.0" encoding="utf-8"?>
<defaultsMap>
<entry>
<key>test_string</key>
<value>文字列だよ</value>
</entry>
<entry>
<key>test_bool</key>
<value>false</value>
</entry>
<entry>
<key>test_long</key>
<value>100</value>
</entry>
</defaultsMap>
값 읽어들이기
설정된 값은 이런 느낌으로 간단하게 얻을 수 있다.
실행 중, 컨트롤러에서 getBoolean 키에 문자열과 숫자를 지정하면false를 되돌려주고, 컨트롤러에서 getLong 키에 문자열을 넣으면 0을 되돌려줍니다. mFirebaseRemoteConfig.getString("test_string");
mFirebaseRemoteConfig.getBoolean("test_bool");
mFirebaseRemoteConfig.getLong("test_long");
두 번째 파라미터를 넣을 수 있지만 사용법을 몰라요.mFirebaseRemoteConfig.getString("test_string","name_space");
값 설정 (콘솔)
Firebase 컨트롤러에 값을 설정합니다.
값은 조건에 따라 조건을 생성할 수 있습니다.
조건 적응
개발상 모드
예시 주석의 일반 요청은 시간당 5개의 요청 제한이 있는 것 같습니다.
개발상 모델이라면 상한선이 늘어날 것 같다FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.build();
mFirebaseRemoteConfig.setConfigSettings(configSettings);
업데이트 값
스스로 업데이트하지 않으면 컨트롤러에 설정된 값이 반영되지 않습니다.
fetch의 제한이 있기 때문에 적당한 시기에 실행해야 합니다. mFirebaseRemoteConfig.fetch(cacheTime).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//値を反映
mFirebaseRemoteConfig.activateFetched();
} else {
//fetch失敗
}
}
});
기본값 가져오기
지도에서도 가능하지만 xml 설정 방법도 있습니다.mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
잡감
지금 참조 견본 구현
Firebase의 기초는 내장된 전제 조건이다.
gradle dependencies에 추가
build.gradle
compile 'com.google.firebase:firebase-config:9.0.2'
다음은fab에 따라remoteConfig의 값을 출력하고,button에 따라remoteConfig의 값을 업데이트하는 간단한 예입니다. FirebaseRemoteConfig mFirebaseRemoteConfig;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//instance取得
mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
//デベロッパーモード指定
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.build();
mFirebaseRemoteConfig.setConfigSettings(configSettings);
//デフォルトの値を読み込む
mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, mFirebaseRemoteConfig.getString("test_string"), Snackbar.LENGTH_LONG).setAction("Action", null).show();
}
});
Button button = (Button) findViewById(R.id.fetch_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//更新
fetch();
}
});
}
private void fetch() {
int cacheTime = mFirebaseRemoteConfig.getInfo().getConfigSettings().isDeveloperModeEnabled() ? 0 : 60 * 60;// Cache時間設定(秒)
mFirebaseRemoteConfig.fetch(cacheTime)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//値を反映
mFirebaseRemoteConfig.activateFetched();
} else {
//fetch失敗
}
}
});
}
remote_config_defaults.xml<?xml version="1.0" encoding="utf-8"?>
<defaultsMap>
<entry>
<key>test_string</key>
<value>文字列だよ</value>
</entry>
<entry>
<key>test_bool</key>
<value>false</value>
</entry>
<entry>
<key>test_long</key>
<value>100</value>
</entry>
</defaultsMap>
값 읽어들이기
설정된 값은 이런 느낌으로 간단하게 얻을 수 있다.
실행 중, 컨트롤러에서 getBoolean 키에 문자열과 숫자를 지정하면false를 되돌려주고, 컨트롤러에서 getLong 키에 문자열을 넣으면 0을 되돌려줍니다.
mFirebaseRemoteConfig.getString("test_string");
mFirebaseRemoteConfig.getBoolean("test_bool");
mFirebaseRemoteConfig.getLong("test_long");
두 번째 파라미터를 넣을 수 있지만 사용법을 몰라요.mFirebaseRemoteConfig.getString("test_string","name_space");
값 설정 (콘솔)
Firebase 컨트롤러에 값을 설정합니다.
값은 조건에 따라 조건을 생성할 수 있습니다.
조건 적응
개발상 모드
예시 주석의 일반 요청은 시간당 5개의 요청 제한이 있는 것 같습니다.
개발상 모델이라면 상한선이 늘어날 것 같다
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setDeveloperModeEnabled(BuildConfig.DEBUG)
.build();
mFirebaseRemoteConfig.setConfigSettings(configSettings);
업데이트 값
스스로 업데이트하지 않으면 컨트롤러에 설정된 값이 반영되지 않습니다.
fetch의 제한이 있기 때문에 적당한 시기에 실행해야 합니다.
mFirebaseRemoteConfig.fetch(cacheTime).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//値を反映
mFirebaseRemoteConfig.activateFetched();
} else {
//fetch失敗
}
}
});
기본값 가져오기
지도에서도 가능하지만 xml 설정 방법도 있습니다.
mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
잡감
Reference
이 문제에 관하여(Android Firebase Remote Config 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hymmr/items/2fc647db04d3861cd17b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)