Firebase Remote Config: вызывается только один раз - PullRequest
0 голосов
/ 04 апреля 2020

Я реализовал базовый c код из документации Firebase:

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
        FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
                .setMinimumFetchIntervalInSeconds(20)
                .build();
        mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

        mFirebaseRemoteConfig.fetchAndActivate()
                .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
                    @Override
                    public void onComplete(@NonNull Task<Boolean> task) {
                        if (task.isSuccessful()) {
                            boolean updated = task.getResult();
                            LogUtils.LOGD("XXXXX", "firebase remote config fetch OK");
                            treatRemoteConfigValues();

                        } else {
                            LogUtils.LOGD("XXXXX", "firebase remote config fetch failed!!!!");
                        }
                    }
                });

Этот обратный вызов вызывается только один раз (при первом запуске), я не понимаю, почему этот обратный вызов не вызывается каждые 20 секунд. Я пытался обновить значение из интерфейса конфигурации Firebase, тоже ничего не происходит.

Спасибо за вашу помощь, ребята!

1 Ответ

1 голос
/ 04 апреля 2020

Похоже, вы не понимаете, что на самом деле означает setMinimumFetchIntervalInSeconds(20). Значение не означает, что SDK автоматически обновит значения sh для вас. В соответствии с документацией API :

Устанавливает минимальный интервал между последовательными вызовами выборки.

Извлекает менее длительности секунд после последней выборки из Firebase Remote Config Сервер будет использовать значения, возвращенные во время последней выборки.

Это означает следующее: когда вы вызываете fetch (), SDK фактически не будет извлекать новые значения до истечения указанного времени с момента последней успешной выборки. Ограничение помогает предотвратить «спам» в вашем коде Remote Config при повторных запросах, преднамеренно или случайно. Remote Config будет принудительно устанавливать ограничение скорости на стороне сервера, чтобы защитить себя от неправильного поведения кода.

Если вам нужно больше обновлений в реальном времени для некоторых значений на сервере, рассмотрите вместо этого использование базы данных в реальном времени или Firebase, что позволяет вам Установить sh слушателей для немедленной обратной связи при изменении какого-либо значения Конечно, вы не сможете использовать мощные конфигурации Remote Config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...