Android Firebase 远程配置初始获取不返回值

Ork*_*dov 9 android firebase firebase-remote-config

当应用程序第一次打开时,我使用 Firebase 远程配置来获取数据。但问题是我无法在应用程序第一次启动时获取数据。onComplete()方法触发但不返回任何值。如果我关闭应用程序并再次运行,它会从远程配置返回值。

试图在onCreate(), onStart(), 中调用 fetch() onResume(),给它第二次延迟,postDelay()但仍然相同,初始 fetch 始终为空。我知道,远程配置具有setDefaults()在获取默认值之前存储默认值的方法,但是在应用程序内设置默认值并不是我想要的。

这是远程配置的工作方式还是我做错了什么?我发现的唯一解决方法是添加fetch()insideonResume()并再次调用 onResume() onCreate()。结果调用 onResume() 两次。第一次是安卓系统,第二次是代码。

有没有其他方法可以在第一次运行时强制远程配置获取数据?

更新

在从它获取新值之前,onComplete()我必须首先调用内部firebaseRemoteConfig.activateFetched();

Moh*_*tol 5

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
        FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder().build();
        mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings)
                .addOnCompleteListener(task -> mFirebaseRemoteConfig.fetchAndActivate()
                        .addOnCompleteListener(activity, task1 {
                       // now cache is updated you can fetch values
                       String value = mFirebaseRemoteConfig.getString("key");
               }));
Run Code Online (Sandbox Code Playgroud)

配置设置完成后开始获取值

只是这样做,在应用程序启动和值直接在其他地方(如: mFirebaseRemoteConfig.getString("key");


use*_*292 0

我知道这是一个老问题 - 但我遇到了与提问者完全相同的问题。经过几天的调查后,我找到了答案,因此我将其发布在这里以帮助其他遇到困难的人。

首先要检查的是您的配置设置是否已在 Firebase 中发布。进行更改后,控制台右上角有一个“发布”按钮。

我遵循了大量关于如何在 Unity 中配置 FireBases 远程配置的教程和指南,但尽管调用了 ActivateFetched,但我没有得到任何结果。在投入大量精力试图找出为什么没有返回数据之后,我偶然发现了这个线程: https: //github.com/firebase/quickstart-unity/issues/9

事实证明 RemoteConfig 在 Unity 中不起作用,只能使用默认值。要实际使用远程配置,您必须进行构建并将其部署到目标设备上。

在我的 Android 设备上,我的所有远程配置均已成功检索