我目前正在Android上尝试Firebase Remote Config。我给参数指定了一个值:2.2,但是当我运行一个应用程序时,它在Logcat中无故打印2.0。
这是我的代码:
初始化:
private FirebaseRemoteConfig mRemoteConfig = FirebaseRemoteConfig.getInstance();
设置默认值:
mRemoteConfig.setDefaults(hashMap);
获取:
mRemoteConfig.setConfigSettings(new FirebaseRemoteConfigSettings.Builder().setDeveloperModeEnabled(true).build());
从远程配置中获得双倍奖励:
double code = mRemoteConfig.getDouble("code");
我做错了什么?
答案 0 :(得分:1)
您需要:
fetch()
从Firebase获取值和
activateFetched()
激活上一次获取的值。完成这两个步骤中的都之后,您才能在调用getDouble("code")
时收到Firebase控制台中设置的最新值。
答案 1 :(得分:0)
您需要设置时间范围以告知Firebase何时获取参数。
尝试下面的代码,下面的示例是每60秒获取一次更新:
final FirebaseRemoteConfig firebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
// set in-app defaults
Map<String, Object> remoteConfigDefaults = new HashMap();
remoteConfigDefaults.put("CURRENT_VERSION", "2.0");
//...any other defaults here
firebaseRemoteConfig.setDefaults(remoteConfigDefaults);
firebaseRemoteConfig.fetch(60) // set the value in second to fetch every minutes
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "remote config is fetched.");
}
}
});