没有 Internet 的 RemoteConfig 提供空字符串

RemoteConfig Without Internet Giving Empty String

我有这个 class 用于从 Firebase 获取远程配置。

internal object MyConfig {

    const val KEY = "test_key"

    private var remoteConfig: FirebaseRemoteConfig = FirebaseRemoteConfig.getInstance()

    init {
        val configSettings = FirebaseRemoteConfigSettings.Builder()
            .setMinimumFetchIntervalInSeconds(3600)
            .build()
        remoteConfig.setConfigSettingsAsync(configSettings)
        remoteConfig.fetchAndActivate()
    }

    fun getKey(): String {
        return mRemoteConfig.getString(KEY)
    }
}

这工作正常,但如果应用程序打开时我没有互联网,那么密钥将是 ""。当我恢复互联网时,当我调用 getKey() 时,密钥仍然是 ""

我怎样才能做到,如果密钥作为 "" 返回,那么值就不会存储在 remoteConfig 中?

没有针对单个键或值的设置或配置。当您从 Remote Config 获取一个值时,您每次都会获取相同的值,直到下一次提取可能会使用来自服务器的新值更改它。当提取完成时,它将包含来自服务器的所有当前值,或者如果提取失败则包含 none 个值,并且永远不会包含不完整的值子集。

远程配置不会在您的应用上线时自动尝试获取新值。如果你想让它再次获取,你将不得不为此编写代码,这是很有可能的。