Kel*_*dos 1 android firebase firebase-remote-config
我想在我的应用程序中为某些布尔值实现某种代理。逻辑如下:
在应用程序中使用值时,我首先检查Firebase中是否存在该值
3.1。如果存在,请使用Firebase值
3.2。如果不存在,则取后端值
问题是-如何检查Firebase远程配置中是否存在该值?
我找到了另一种方法,可能对其他人有用:
val rawValue = remoteConfig.getValue(key)
val exists = rawValue.source == FirebaseRemoteConfig.VALUE_SOURCE_REMOTE
Run Code Online (Sandbox Code Playgroud)
在这种情况下,exists仅当该值从远程返回(并且尚未设置为默认值或静态提供值)时才为真。接受的答案很容易出错,因为没有考虑空字符串是从远程返回的有效字符串的情况
这里是FirebaseRemoteConfigValue的文档
我找到了解决方案:
火力远程配置获取所有值Strings,然后才将它们映射到其他类型的方便的方法,例如getBoolean(),getLong()等
因此,可以如下检查布尔值的存在:
String value = firebaseRemoteConfig.getString("someKey");
if(value.equals("true")){
//The value exists and the value is true
} else if(value.equals("false")) {
//The value exists and the value is false
} else if(value.equals("")) {
//The value is not set in Firebase
}
Run Code Online (Sandbox Code Playgroud)
其他类型也是如此,即long在firebase上从getString()as 返回的值设置为64 "64"。
| 归档时间: |
|
| 查看次数: |
2769 次 |
| 最近记录: |