第一次启动RemoteConfig的问题



我正面临具有条件的RemoteConfig参数的问题。在大多数情况下,我在第一个应用程序打开时会获得默认值。之后,我得到其他条件值。我的条件是0 -> 10, 10 -> 20, 20 -> 30,...., 90 -> 100User 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:它有效,但我不知道它为什么起作用。

最新更新