FirebaseRemoteConfig fetchAndActivate не обновляет новое значение - PullRequest
0 голосов
/ 14 февраля 2020

Я уже установил минимальный интервал равным 0 в режиме отладки. В настоящее время я выбираю новые данные, сначала очистив хранилище приложения перед его запуском.

Вот мой код:

private fun initRemoteConfig() {
    remoteConfig = FirebaseRemoteConfig.getInstance()
    configSettings = FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(if (BuildConfig.DEBUG) 0 else 3600)
        .build()
    remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
    fetch()
}

private fun fetch() {
    remoteConfig.fetchAndActivate()
        .addOnCompleteListener {
            if (it.isSuccessful) {
                val updated = it.result
                Logger.d(TAG, "Config params updated: $updated. Fetch and activate succeeded") // updated = false

                checkVersion()
            } else {
                Logger.d(TAG, "Fetch failed")
            }
        }

}

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Я изменил свой код с fetchAndActivate на fetch, и, похоже, он работает как положено. Сейчас я получаю новые данные из Firebase.

Вот мой обновленный код:

private fun fetch() {
    val fetch = remoteConfig.fetch(if (BuildConfig.DEBUG) 0 else TimeUnit.HOURS.toSeconds(12))
    fetch.addOnCompleteListener {
        if (it.isSuccessful) {
            remoteConfig.activate()
            Logger.d(TAG, "Fetch and activate succeeded")

            checkVersion()
        } else {
            Logger.d(TAG, "Fetch failed")
        }
    }
}
0 голосов
/ 14 февраля 2020

Попробуйте это

private fun initRemoteConfig() {
  remoteConfig = FirebaseRemoteConfig.getInstance()
  configSettings = FirebaseRemoteConfigSettings.Builder()
    .setMinimumFetchIntervalInSeconds(if (BuildConfig.DEBUG) 0 else 3600)
    .build()
  remoteConfig.setConfigSettingsAsync(configSettings)  //You missed this line
  remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
  fetch()
}

private fun fetch() {
  remoteConfig.fetchAndActivate()
    .addOnCompleteListener(this) { task ->
        if (task.isSuccessful) {
            val updated = task.result
            Logger.d(TAG, "Config params updated: $updated. Fetch and activate succeeded") // updated = false
            checkVersion()
        } else {
            Logger.d(TAG, "Fetch failed")
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...