Vai alla console

远程配置模板和版本控制

远程配置模板位于服务端,是一组 JSON 格式的参数和条件,它由您创建并用于您的 Firebase 项目。在 Firebase 控制台的参数条件标签中,您可以看到以图片形式显示的模板内容,并对该模板进行修改和管理。如果您使用 REST API 修改和管理您的配置,则可直接在模板文件中操作,如以下 remote-config.json 示例所示:

{
  "parameters":[
    {
      "key":"welcome_message",
      "value_options":[
        {
          "value":"Welcome to this sample app"
        }
      ]
    },
    {
      "key":"welcome_message_caps",
      "value_options":[
        {
          "value":"false"
        }
      ]
    }
  ],
  "version":{
    "version_number": "42",
    "update_time":"2018-05-11T18:46:40Z",
    "update_user":{
      "name":"Jane Developer",
      "email":"jane@developer.org",
      "imageUrl":"http://image.google.com/path-to-profile-photo-for-jane"
    },
    "description":"Adding welcome messages",
    "origin":"CONSOLE",
    "update_type":"INCREMENTAL_UPDATE"
  }
}

每当您更新参数时,远程配置都会创建一个新版的远程配置模板,并将旧版模板存储起来,供您在需要时检索或回滚到此模板。第一个版本号是远程配置存储的初始值,后面依序递增。如上图所示,所有模板中都有一个 version 字段,里面是相应版本的元数据。

您可以通过 Firebase 控制台或 REST API,执行以下版本管理任务:

  • 列出存储的所有模板版本
  • 检索具体版本
  • 回滚到具体版本

在管理远程配置模板时,请注意以下过期要求:模板自创建之日起 90 天内有效;但如果存储的版本总数会超过 300,则创建日期较早的版本先过期。 如果您不想让某个模板受到上述限制,则请手动保存和存储,这样您就仍然可以存储或回滚到该模板。应用当前使用的活跃远程配置模板不会过期;但是如果该模板自创建之日起活跃天数已超过 90 天,并且有新版模板取代了它,则该模板会因过期而无法再被检索到。

利用 Firebase 控制台管理远程配置模板的版本

Firebase 控制台提供了一个图形界面,您可以在此列出模板版本、查看模板详情和根据需要进行回滚。要执行上述任务,请按以下步骤操作:

  1. 参数标签中,点击右上角的三点状图标,并选择查看更改历史记录。这样会打开更改历史记录页面,其右侧以列表形式列出了系统存储的所有模板版本。

  2. 默认情况下,“详细信息”窗格会显示当前的活跃模板。要查看列表中某个版本的详细信息,请从右侧列表中将其选中。

  3. 当您在“详细信息”窗格中查看某个存储版本的详细信息时,页面右上角会显示一个选择按钮,点击此按钮即可回滚到该版本。仅当您确认要回滚到该版本并立即为所有应用和用户使用这些值时,才能点击确认。

利用 REST API 管理远程配置模板的版本

本部分介绍了如何使用 REST API 管理远程配置模板的版本。要详细了解如何通过编程方式创建、修改和保存模板,请参阅使用 Remote Config REST API

列出所有已存储的远程配置模板版本

通过自定义 HTTP 方法 :listVersions,您可以检索到一个包含所有已存储的远程配置模板版本的列表。例如:

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id:listVersions

结果包含所有已存储版本的元数据,包括更新时间、更新用户,以及更新方法是控制台还是 REST API。下面是一个版本元素的示例:

{
  "versions": [{
    "version_number": "6",
    "update_time": "2018-05-12T02:38:54Z",
    "update_user": {
      "email": "jane@developer.org",
    },
    "description": "One small change on the console",
    "origin": "CONSOLE",
    "update_type": "INCREMENTAL_UPDATE"
  }]

检索特定版本的远程配置模板

通过附加网址参数 ?version_number,您可以检索远程配置模板的任意已存储版本。例如:

curl --compressed -D headers -H "Authorization: Bearer token" -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig?version_number=6

该参数仅对 GET 操作有效;您无法用它指定新模板的版本号。不含 ?version_number 参数的类似 get 请求会检索当前有效的模板,具体请参见从远程配置服务中获取 JSON

回滚到特定已存储版本的远程配置模板

要回滚到某个已存储的远程配置模板,请使用自定义方法 :rollback 发出一个 HTTP POST 请求,并在请求正文中指明要应用的版本。例如:

curl --compressed -D headers -H "Authorization: Bearer token" -X POST https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:rollback -d '{"version_number": 6}'

结果包含当前活跃的存储模板的内容,及其更新后的版本元数据。

请注意,此回滚操作创建的模板版本会采用新的版本号。例如,从版本 10 回滚到版本 6 会创建一个新的版本 6,它的版本号为 11,这是它与原版本的唯一区别。原来的版本 6 如果尚未到期,就仍会存储在系统中。版本 11 成为有效版本。