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();。
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");)
我知道这是一个老问题 - 但我遇到了与提问者完全相同的问题。经过几天的调查后,我找到了答案,因此我将其发布在这里以帮助其他遇到困难的人。
首先要检查的是您的配置设置是否已在 Firebase 中发布。进行更改后,控制台右上角有一个“发布”按钮。
我遵循了大量关于如何在 Unity 中配置 FireBases 远程配置的教程和指南,但尽管调用了 ActivateFetched,但我没有得到任何结果。在投入大量精力试图找出为什么没有返回数据之后,我偶然发现了这个线程: https: //github.com/firebase/quickstart-unity/issues/9
事实证明 RemoteConfig 在 Unity 中不起作用,只能使用默认值。要实际使用远程配置,您必须进行构建并将其部署到目标设备上。
在我的 Android 设备上,我的所有远程配置均已成功检索
| 归档时间: |
|
| 查看次数: |
6824 次 |
| 最近记录: |