Firebase远程配置-Android

时间:2019-03-24 17:07:24

标签: java android firebase firebase-remote-config

我目前正在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");

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您需要:

  1. 调用fetch()从Firebase获取值

  1. 在应用中适当且方便的时候,调用activateFetched()激活上一次获取的值。

完成这两个步骤中的之后,您才能在调用getDouble("code")时收到Firebase控制台中设置的最新值。

Example usage from Firebase's Quickstart app on Github

答案 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.");

                        }
                    }
                });