【问题标题】:Firebase Remote Config vs DatabaseFirebase 远程配置与数据库
【发布时间】:2017-07-09 21:16:31
【问题描述】:

我有一些参数希望能够在不进行更新的情况下进行控制。 有两种选择:

  1. 远程配置 - 使用 12 小时的默认缓存获取它们。
  2. 数据库 - 创建一个配置对象并在初始化时获取它 应用程序。

如果我使用远程配置并更改某些参数,我的某些用户可能需要等待 12 小时才能使参数更改生效。 我的一些参数不能这么长时间不正确, 这是否意味着这些参数应该存储在数据库配置对象中,而远程配置仅适用于可以容忍保持不正确 12 小时的参数?

【问题讨论】:

    标签: firebase firebase-realtime-database firebase-remote-config


    【解决方案1】:

    乍一看,Firebase Remote Config 看起来像是一组简单的键/值对,它们会被拉入您的应用程序。如果这就是您所需要的,那么远程配置不会为您提供比实时数据库更好的东西。但是,如果您从此处第一句的链接中阅读功能列表,那就远不止于此。

    远程配置与实时数据库的区别在于,您可以建立conditions for parameters 来配置谁可以看到什么值。

    另外值得注意的是远程配置是tied to Google Analytics for Firebase,这意味着您的条件可以基于您定义的受众,您基本上可以在 Firebase 控制台中执行 A/B 实验并衡量结果。这一切都可以通过不需要工程师安全操作的直观界面完成(想象一下,让您的非技术经理访问 Firebase 实时数据库 UI 以进行一些配置更改)。

    Firebase 实时数据库不具备上述任何功能。也就是说,如果您不想要或不需要这些功能中的任何一个,您仍然可以使用它进行简单的配置,前提是这对您来说更容易。

    另请注意,您可以更改远程配置的缓存行为。只需看看客户端 API 即可。

    【讨论】:

    • Firebase 远程配置对象的存储方式和位置。它看起来像一个内存对象,但行为也像数据库。它是否存储在我们可以看到的外部特定位置?
    • @VrushabMaitri 获取远程配置数据的唯一受支持方式是通过提供的客户端 API。
    【解决方案2】:

    你误会了什么。

    此功能用于 A/B 测试。 将此信息用作实时存储是完全不正确的。 没有任何“不正确”的数据!

    顺便说一句,可以减少缓存时间usingfirebaseRemoteConfig.fetch(<your_new_time_in_sec>) 最少 10 分钟(3600 秒)

    就是这样!

    https://firebase.google.com/docs/remote-config/ios#caching_and_throttling

    https://firebase.google.com/docs/remote-config/android#caching

    在您的情况下,Firebase 数据库是更好的方法。或者创建自己的服务器。

    【讨论】:

      【解决方案3】:

      为了完整起见,远程配置现在提供了一个使用 Cloud Functions 获取实时更新的选项

      https://firebase.google.com/docs/remote-config/propagate-updates-realtime

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-19
        • 2017-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多