是否需要为 Firebase RemoteConfig 提供默认值?

Do defaults need to be supplied for Firebase RemoteConfig?

提供默认值是使用 RemoteConfig 的步骤之一。它通常看起来像这样:

let sefaults: [String: NSObject] = [
        "key1" : "value1" as NSObject,
        "key2" : "value2" as NSObject
    ]
FIRRemoteConfig.remoteConfig().setDefaults(defaults)

我发现 RemoteConfig 在没有上述内容的情况下工作得很好。以上是必须的吗?另外,它在做什么?似乎是空操作。

不,没有必要提供默认值。 但是,如果您不这样做,您的应用将使用您定义的类型的静态默认值(字符串、布尔值等的静态默认值)

Firebase Remote Config 决定值的方式可以描述如下:

  • 首先它检查是否有从服务器存储的缓存值,如果有则使用它。
  • 如果没有缓存值,它会查找以编程方式或在默认文件中定义的默认值。 (当你打电话给 setDefaults()
  • 如果没有从服务器缓存的值,并且默认值中没有值,它将使用该类型的系统默认值。 因此,即使它看起来可能不适合您,您也应该在全新安装且没有互联网的情况下测试您的应用程序,以确定它是否按预期工作。

可以在此处找到更多信息:https://firebase.google.com/docs/remote-config/