我正面临具有条件的RemoteConfig
参数的问题。在大多数情况下,我在第一个应用程序打开时会获得默认值。之后,我得到其他条件值。我的条件是0 -> 10, 10 -> 20, 20 -> 30,...., 90 -> 100
的User in random percentile
。我认为,它绝不应该是默认值(因为条件覆盖了用户百分比的100%(。我确实致电fetchAndActive()
并在task.isSuccessful()
之后致电mFirebaseRemoteConfig.getString()
。有什么想法吗?
我在一周前就面临着同样的问题,在谷歌搜索搜索后,我发现唯一类似的事情就是这个问题。今天,我终于找到了原因,并实施了简单的解决方法。长话短说,在Firebase SDK初始化中有种族条件连接到" FirebaseInstanceId"一代:在初始启动Firebase在生成AppinstanceID之前,请执行远程配置请求。因为有这个后端,无法应用与远程参数有关的某些条件,例如"随机百分位数中的用户"。要解决此问题,我们需要在初始化SDK之前生成应用程序ID。因此,代码可能看起来像这样:
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
//init firebase remote config here
}
});
希望这会有所帮助。
搜索了很多天后,但是对此没有任何线索,我必须做一个肮脏,棘手的方法来解决我的问题:在onCreate
上1 s后获取和加载远程配置:
Observable.timer(1, TimeUnit.SECONDS)
.observeOn(AndroidSchedulers.mainThread())
.doOnNext(time ->{
fetchAndActiveRemoteConfig();
})
.subscribe();
p/s:它有效,但我不知道它为什么起作用。