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

是否需要为Firebase RemoteConfig提供默认值?,firebase,swift3,firebase-remote-config,Firebase,Swift3,Firebase Remote Config,提供默认值是使用RemoteConfig的步骤之一。它通常看起来像这样: let sefaults: [String: NSObject] = [ "key1" : "value1" as NSObject, "key2" : "value2" as NSObject ] FIRRemoteConfig.remoteConfig().setDefaults(defaults) 我发现RemoteConfig在没有上述功能的情况下工作得非常好。是否有必要这

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

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

我发现RemoteConfig在没有上述功能的情况下工作得非常好。是否有必要这样做?还有,它在做什么?似乎是不可操作的。

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

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

  • 首先,它检查是否有从服务器存储的缓存值,如果有,则使用该值
  • 如果没有缓存值,它将查找通过编程或在默认文件中定义的默认值。(调用
    setDefaults()
    时)
  • 如果没有从服务器缓存的值,并且默认值中没有值,它将使用该类型的系统默认值。 所以,即使你看起来不习惯,你也应该在干净的安装环境下测试你的应用程序,不要上网,以确定它是否按预期工作
更多信息可在此处找到:

否,它将始终使用服务器获取的值作为第一优先级。如果由于某种原因(例如缺少internet或您在服务器响应之前访问了这些值),它将使用setDefaults()中的默认值。当有新值时,设备不会得到通知,它只会在缓存时间之后(默认为上次成功获取后12小时)获取新值。你好@riggaroo,这篇文章非常有用。我发现了1个小bug tho,导致整个IDE被锁定(使用AS2.3);需要在Mac上强制退出。如果您仍在维护post,以便其他人不会遇到相同的锁定IDE,则在第6行的
MvpViewActivity.java.ftl
中有
${classname}契约..
标记变量没有像所有其他事件一样使用驼峰大小写-应该是
${classname}
。通过这一更新,解决方案发挥了巨大的作用。非常感谢你在那里分享你的笔记