Remote Config 模板和版本控制


Remote Config 模板是您为 Firebase 项目创建的一组 JSON 格式的参数和条件。您可以创建客户端模板(您的应用可从此类模板提取值)和服务器模板(您的服务器客户端可从此类模板提取值)。

本部分介绍了服务器模板。如需了解客户端专属模板,请点击客户端模板

在 Firebase 控制台的参数条件标签页中,您可以看到以图表形式显示的模板内容,并对该模板进行修改和管理。

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

{
  "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 控制台执行以下版本管理任务:

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

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

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

您可以根据需要从 Remote Config 控制台的更改历史记录页面中删除 Remote Config 模板。

管理 Remote Config 模板版本

本部分介绍如何管理 Remote Config 模板版本。

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

您可以检索所有已存储的 Remote Config 模板版本列表。实现过程如下:

  1. 在 Firebase 控制台中,打开 Remote Config。

  2. 然后,在参数标签页中,选择右上角显示的时钟图标。

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

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

检索特定的 Remote Config 模板版本

您可以检索任何特定已存储的 Remote Config 模板版本。 如需检索存储的模板版本,请执行以下操作:

  1. 打开更改历史记录的“详细信息”窗格。

  2. 如需查看列表中其他版本的详细信息,请从右侧菜单中将其选中。

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

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

您可以回滚到任何已存储的模板版本。如需回滚模板,请执行以下操作:

  1. 找到更改历史记录页面右上角的选项按钮。仅当您确认要回滚到该版本并立即为所有应用和用户使用这些值时,才能点击确认。

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

删除 Remote Config 模板

您可以从 Firebase 控制台删除 Remote Config 模板。如需删除 Remote Config 模板,请执行以下操作:

1. 在 Remote Config 的参数页面中,点击更改历史记录
  1. 切换到要删除的模板,点击更多,然后选择删除

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

下载和发布 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. Remote Config 的“参数”或“条件”标签页中,打开 菜单,然后选择下载当前配置文件
  2. 出现提示时,点击下载配置文件,选择保存该文件的位置,然后点击保存

验证 Remote Config 模板

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

发布 Remote Config 模板

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

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

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

使用以下命令可发布模板:

  1. Remote Config 的“参数”或“条件”标签页中,打开 菜单,然后选择通过文件发布
  2. 出现提示时,点击浏览,找到并选择要发布的 Remote Config 文件,然后点击选择
  3. 系统会验证该文件,如果成功通过验证,您可以点击发布,立即将相应配置提供给您的应用和用户。

后续步骤