管理 Remote Config 服务器模板和版本控制

选择模板类型: 客户端模板 服务器模板


Remote Config 模板是为 Firebase 项目创建的一组 JSON 格式的参数和条件。服务器模板使用 Firebase Admin SDK 为 Remote Config(适用于 Node.js、Java、Python 和 Go)向服务器实例提供配置。

您可以使用 Firebase 控制台修改和管理服务器模板。前往 DevOps 和互动 > Remote Config,在参数页面和条件页面上以图表形式查看模板的内容。

以下是服务器模板文件的示例:

{
  "parameters": {
    "preamble_prompt": {
      "defaultValue": {
        "value": "You are a helpful assistant who knows everything there is to know about Firebase! "
      },
      "description": "Add this prompt to the user's prompt",
      "valueType": "STRING"
    },
    "model_name": {
      "defaultValue": {
        "value": "gemini-pro-test"
      },
      "valueType": "STRING"
    },
    "generation_config": {
      "defaultValue": {
        "value": "{\"temperature\": 0.9, \"maxOutputTokens\": 2048, \"topP\": 0.9, \"topK\": 20}"
      },
      "valueType": "JSON"
    }
  },
  "version": {
    "versionNumber": "19",
    "isLegacy": true
  }
}

您可以在 Firebase 控制台中执行以下版本管理任务(依次前往 DevOps 和互动 > Remote Config):

  • 列出存储的所有模板版本
  • 检索特定版本
  • 回滚到特定服务器版本
  • 从 更改历史记录页面中删除 Remote Config 模板。

每个类型的模板在整个生命周期所能存储的版本总数上限为 300 个,即最多可以存储 300 个客户端模板和 300 个服务器模板,为已被删除的模板存储的版本号也计入在内。如果您在项目生命周期内发布的某一种模板类型的模板版本超过了 300 个,则最早的版本会被删除,最多保留该类型的 300 个版本。

每当您更新参数时,Remote Config 都会创建一个新版 Remote Config 模板,并将旧模板存储为旧版本,供您在需要时检索或回滚到此版本。第一个版本号是 Remote Config 存储的初始值,后续的版本号依序递增。如上例所示,所有模板都有一个 version 字段,其中包含相应版本的元数据。

您可以根据需要在 Firebase 控制台的 DevOps 和互动 > Remote Config > 更改历史记录页面中删除 Remote Config 模板。

管理 Remote Config 模板版本

本部分介绍如何管理 Remote Config 服务器模板的版本。

列出所有已存储的 Remote Config 模板版本

您可以检索所有已存储的 Remote Config 模板版本列表。为此,请执行以下操作:

  1. 在 Firebase 控制台中,依次前往 DevOps 和互动 > Remote Config > 参数页面。

  2. 选择右上角显示的时钟图标。

    这样会打开更改历史记录页面,其右侧以列表形式列出了系统存储的所有模板版本。

    模板列表会包含所有已存储版本的元数据,包括更新时间、进行更新的用户,以及更新方式。

检索特定的 Remote Config 模板版本

您可以检索任何特定已存储的 Remote Config 模板版本。下面介绍了如何检索存储的模板版本:

  1. 在 Firebase 控制台中,依次前往 DevOps 和互动 > Remote Config > 更改历史记录页面。

  2. 默认情况下,该页面会显示当前活跃的模板。如需查看其他版本,请从右侧的详细信息窗格中选择相应版本。

  3. 您可以将鼠标悬停在任一未选版本的上下文菜单上并选择与选定版本进行比较,来查看活跃模板与任何其他已存储版本之间的详细差异。

回滚到特定已存储版本的 Remote Config 模板

您可以回滚到任何已存储的模板版本。以下是回滚模板的方法:

  1. 在 Firebase 控制台中,依次前往 DevOps 和互动 > Remote Config > 更改历史记录页面。

  2. 找到页面右上角的选项按钮,该按钮适用于支持回滚的先前模板版本。

  3. 仅当您确认要回滚到该版本并立即为所有应用和用户使用这些值时,才能点击确认。

请注意,此回滚操作实际上会创建一个使用新版本号的版本。例如,从版本 10 回滚到版本 6 实际上会创建版本 6 的新副本,它与原版本(即版本 6)的唯一区别就是其版本号为 11。原来的版本 6 如果尚未到期,仍会存储在系统中。版本 11 会成为活跃版本。

删除 Remote Config 模板

您可以使用 Firebase 控制台删除 Remote Config 模板。以下是删除模板的方法:

  1. 在 Firebase 控制台中,依次前往 DevOps 和互动 > Remote Config > 参数页面。

  2. 点击 更改历史记录。

  3. 切换到要删除的模板,点击 更多,然后选择删除。

  4. 当系统提示您确认删除时,点击删除。

下载和发布 Remote Config 模板

下载并发布 Remote Config 模板,以将其集成到您的源代码控制和构建系统中、自动执行配置更新,并使多个项目中的参数和值保持同步。

您可以从 Firebase 控制台下载当前活跃的 Remote Config 模板。然后,您可以更新导出的 JSON 文件并将其发布到同一项目中,您也可以将其发布到新项目或其他现有项目中。

例如,假设您有多个项目,分别代表软件开发生命周期的各个不同阶段(例如开发、测试、预演和生产环境)。在这种情况下,您可以将预演环境中经过全面测试的模板提升到生产环境中,只需从预演项目下载该模板并将其发布到生产项目中即可。

您还可以使用此方法将一个项目中的配置迁移到另一个项目,或使用某个现有项目中的参数和值来填充一个新项目。

专门作为 A/B Testing 实验中的变体而创建的参数及参数值不包含在导出的模板中。

如需导出和导入 Remote Config 模板,请执行以下操作:

  1. 下载当前的 Remote Config 模板。
  2. 验证 Remote Config 模板。
  3. 发布 Remote Config 模板。

下载当前 Remote Config 模板

使用以下方法以 JSON 格式下载活跃的 Remote Config 模板:

  1. 在 Firebase 控制台中,依次前往 DevOps 和互动 > Remote Config > 参数或条件页面。

  2. 打开 菜单,然后选择下载当前配置文件。

  3. 出现提示时,点击下载配置文件,选择保存该文件的位置,然后点击保存。

验证 Remote Config 模板

在您通过 Firebase 控制台尝试发布服务器模板时,系统也会对这些模板进行验证。使用“用户(随机百分比)”规则的条件可以导入,但任何不受支持的条件都会在上传过程中生成错误。如果尝试发布最初从客户端模板导出的模板,请务必先移除所有客户端专属条件。

发布 Remote Config 模板

下载模板后,您可以对 JSON 内容进行必要的更改并对所做更改进行验证,之后便可将模板发布到项目中。

发布模板后,现有的整个配置模板会替换为更新的文件,并且模板版本会递增 1。由于整个配置会被替换,因此,如果您在 JSON 文件中删除某个参数并发布该文件,系统会从服务器中删除该参数,并且客户端将无法再使用该参数。

发布模板后,对参数和值所做的更改会立即体现在应用中并向用户呈现。如有必要,您可以回滚到先前的版本。

如需发布模板,请按以下步骤操作:

  1. 在 Firebase 控制台中,依次前往 DevOps 和互动 > Remote Config > 参数或条件页面。

  2. 打开 菜单,然后选择通过文件发布。

  3. 出现提示时,点击浏览,找到并选择要发布的 Remote Config 文件,然后点击选择。

  4. 文件已通过验证。如果验证成功,请点击发布,立即将相应配置提供给您的应用和用户。

后续步骤