没有 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 个值,并且永远不会包含不完整的值子集。
远程配置不会在您的应用上线时自动尝试获取新值。如果你想让它再次获取,你将不得不为此编写代码,这是很有可能的。
我有这个 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 个值,并且永远不会包含不完整的值子集。
远程配置不会在您的应用上线时自动尝试获取新值。如果你想让它再次获取,你将不得不为此编写代码,这是很有可能的。