当前位置: 首页 > 知识库问答 >
问题:

Firebase远程配置-初始获取返回本地默认值

管和志
2023-03-14
mFirebaseRemoteConfig.fetch(cacheExpiration)
    .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                mFirebaseRemoteConfig.activateFetched();
            }
        }
    });
myValue = mFirebaseRemoteConfig.getBoolean(Constants.FIREBASE_REMOTE_MY_VALUE);
    null

知道为什么我的远程值在第一次调用时没有被提取吗?

共有1个答案

宗政法
2023-03-14

听起来好像您忽略了获取远程参数的异步特性。oncomplete()回调在向Firebase服务器发送请求并收到答复后触发。这将需要几分之一秒,也许更多。

如果语句使用提取的值:

myValue = mFirebaseRemoteConfig.getBoolean(Constants.FIREBASE_REMOTE_MY_VALUE);

在调用fetch()之后,并且不在oncomplete()回调中,它将在收到配置数据之前执行。第二次调用似乎工作了,因为已经过了足够的时间来完成第一次调用,并且它获取和激活的数据已经存在。

 类似资料:
  • 我正在尝试设置Firebase远程配置。在我的项目中一个重要的部分是正确的定位。所以我在Console中设置了不同语言的条件。但现在我想将默认值设为XML。github上的示例非常简单。没有任何条件的值就很少。文档根本没有描述这种格式。所以我想知道是否可以在defaults.xml中指定我的所有本地化,以及我如何做到这一点。

  • 我已经为flutter设置了firebase配置 根据文档https://pub.dev/packages/firebase_remote_config#-readme-tab- 我的钥匙是 Flutter应用程序中的远程配置在获取时引发异常

  • 在示例应用程序中,在中调用fetch方法。它真的是一个做这件事的好地方吗?该应用程序可以使用几周(从前台移动到后台,反之亦然,打开新活动并返回到主活动),并且不会再次调用主活动中的。我不认为这是一个好的解决方案,我的应用程序不会更新我的配置这么长时间。 更新:只在方法中获取配置值是非常糟糕的,应该在中进行某种检查。这里还有一些有用的信息:https://firebase.googleblog.co

  • 我正在尝试在Spring中使用MessageSource注入文本消息。我编写的程序编译良好,但它总是打印出默认消息,而不是从. Properties文件中获取正确的值。我一点线索也没有。 下面是尝试注入文本的Circle类: 下面是bean配置文件的一部分: 我存储问候语和画图。圈入消息。属性文件,并编写了一个主类。但输出总是: 有人知道我的情况可能会出什么问题吗? 更新感谢您的建议。我正在调试,

  • 考虑以下代码 VS2013编译器发出以下警告: 警告C4351:新行为:数组“B::member”的元素将默认初始化1 这里有记载 使用C 11,并应用“默认初始化”的概念,意味着B. part的元素将不会被初始化。 但我认为,成员{}应该执行值初始化,而不是默认初始化。VS2013编译器是否损坏? 8.5美元/6 默认初始化类型为T的对象意味着:-如果T是(可能是cv限定的)类类型(第9条),则

  • 我开始查看firebase remote config,阅读了文档并创建了一个简单的测试应用程序来了解缓存是如何工作的,但我不清楚其行为。 为了标识当前的应用程序实例,fetch请求创建一个Firebase实例ID令牌,该令牌定期向Firebase后端发送数据 在每次新的调用时,都会创建一个新的ID?期刊的要求是如何工作的?我希望只调用一次fetch,并且在请求过时的属性值或类似的东西时自动发送请