【问题标题】:Firebase Remote Config - androidFirebase 远程配置 - 安卓
【发布时间】:2019-03-24 17:07:23
【问题描述】:

我目前正在 Android 上尝试 Firebase 远程配置。我给了一个参数一个值: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");

我做错了什么?

【问题讨论】:

  • 您还需要在 Firebase 控制台更新您的参数。您这样做了吗??
  • 是的,参数的值为 2.2,但在 Logcat 中显示为 2.0

标签: java android firebase firebase-remote-config


【解决方案1】:

您需要设置时间范围以告知 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.");

                        }
                    }
                });

【讨论】:

    【解决方案2】:

    你需要:

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

    1. 调用activateFetched() 以激活上次获取的值,只要在您的应用中适当且方便。

    只有在完成两个这两个步骤后,您才会在致电getDouble("code") 时收到在 Firebase 控制台中设置的最新值。

    Example usage from Firebase's Quickstart app on Github

    【讨论】:

    • 是的,我所要做的就是在 fetch 方法中添加 60:fetch(60) 然后 addOnCompleteListener();
    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2021-09-09
    相关资源
    最近更新 更多