我想在我的应用程序中为一些布尔值实现一种代理。逻辑如下:
问题是 - 如何检查Firebase远程配置中是否存在该值?
我找到了解决方案:
Firebase远程配置将所有值作为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
}
其他类型也是如此,即在firebase上设置为64的long
值将从getString()
返回为"64"
。
远程配置已经执行此操作,如documentation中所述。您有义务为控制台中未定义的参数提供default values。它们完全按照您的描述工作,无需进行任何额外的工作。在执行fetch之前,将使用这些默认值。如果在控制台中定义了值,则将使用它而不是默认值。