首次启动 RemoteConfig 时出现问题

Kin*_*uoc 4 android firebase firebase-remote-config

RemoteConfig我面临着有条件的参数问题。大多数时候,我在第一个打开应用程序时获得默认值。之后,我得到其他条件值。我的条件是User in random percentile0 -> 10, 10 -> 20, 20 -> 30,...., 90 -> 100. 我认为,它永远不应该是默认值(因为条件覆盖了 100% 的用户百分位)。之后我确实打电话fetchAndActive()了。任何想法?mFirebaseRemoteConfig.getString()task.isSuccessful()

Pav*_*nko 5

一个多星期前,我遇到了同样的问题,经过一番谷歌搜索后,我发现的唯一类似的事情就是这个问题。今天我终于找到了原因并实施了简单的解决方法。长话短说,在与“FirebaseInstanceId”生成相关的 Firebase SDK 初始化中存在竞争条件:在初始启动期间,Firebase 在生成 AppInstanceId 之前执行远程配置请求。由于此后端无法应用与远程参数相关的一些条件,例如“随机百分位中的用户”。为了解决这个问题,我们需要在初始化 SDK 之前生成应用程序实例 ID。所以代码可能如下所示:

FirebaseInstanceId.getInstance().getInstanceId()
    .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
    @Override
    public void onComplete(@NonNull Task<InstanceIdResult> task) {
        //init firebase remote config here
    }
});
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助。