Что такое режим разработчика Firebase Remote Config - PullRequest
0 голосов
/ 07 мая 2019

Я добавляю Firebase Remote Config в приложение, и я не понимаю цели .setMinimumFetchIntervalInSeconds(...) & .setDeveloperModeEnabled(true/false).Документы говорят о режиме разработчика, но я не уверен, что они четко объясняют, что он на самом деле делает.Должен ли он использоваться в тандеме с setMinimumFetchIntervalInSeconds или может использоваться сам по себе, и если он сам по себе, что он тогда делает?

Во-вторых, я тестирую свое тестовое логическое значение вотладка сборки приложения со значениями, установленными на 5 минут или часов, но все равно я всегда получаю свое значение в течение 3 секунд.Когда я устанавливаю setDeveloperModeEnabled в false или не добавляю FirebaseRemoteConfigSettings к своему экземпляру вообще, я все еще не наблюдал исключение знаменитого газа и сразу же получаю свои значения.По сути, похоже, что мои настройки кэша игнорируются, и я всегда получаю свежие данные из бэкэнда, и я могу установить кэш настолько низким, насколько я хочу.

1 Ответ

0 голосов
/ 02 июня 2019

setDeveloperModeEnabled () устарела.Вместо этого они теперь используют setMinimumFetchIntervalInSeconds (), чтобы установить задержку истечения срока действия кэша.

Проверьте вашу колыбель для этой строки и убедитесь, что это версия 17.0.0 (на сегодняшний день) или более новая: реализация 'com.google.firebase:firebase-config: 17.0.0 '

Firebase имеет квоту на количество запросов выборки, которые вы можете сделать.Режим разработчика - это способ сделать ваше устройство доступным для загрузки в любое время без ограничений, но вы не можете выпустить свое приложение с включенным режимом разработчика (в котором вам все еще нужно указать интервал)

, есливы используете v17.0.0, используйте этот код, изменив значение cacheExpiration на желаемое.

long cacheExpiration = 3600;
    mFirebaseRemoteConfig.setConfigSettingsAsync(new FirebaseRemoteConfigSettings.Builder()
                                                         .setMinimumFetchIntervalInSeconds(cacheExpiration)
                                                         .build());

mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);

mFirebaseRemoteConfig.fetchAndActivate()
                .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
                    @Override
                    public void onComplete(@NonNull Task<Boolean> task) {
                        if (task.isSuccessful()) {
                            boolean updated = task.getResult();
                            Log.d(TAG, "Config params updated: " + updated);
                            Toast.makeText(MainActivity.this, "Fetch and activate succeeded " + updated,
                                    Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(MainActivity.this, "Fetch failed",
                                    Toast.LENGTH_SHORT).show();
                        }
                        updateConfig();
                    }
                });

setDeveloperModeEnabled больше не поддерживается, поэтому, вероятно, вы не заметили каких-либо изменений в его поведении

...