Firebase 远程配置使用入门(Web)

您可以使用 Firebase 远程配置来定义应用中的参数并在云端更新它们的值。这样,您无需更新应用即可修改应用的外观和行为。

本指南逐步介绍了入门步骤并提供了一些示例代码,所有这些代码都可以从 firebase/quickstart-js GitHub 代码库中克隆或下载。

将远程配置添加到您的应用

  1. 安装 Firebase SDK for Web。

  2. 创建单例远程配置对象并设置最小提取间隔,如以下示例所示:

    const remoteConfig = firebase.remoteConfig();
    remoteConfig.settings = {
      minimumFetchIntervalMillis: 3600000,
    };

此对象用于存储应用内默认参数值,从远程配置后端提取更新后的参数值,以及控制提取的值何时可供应用使用。

在开发期间,建议设置相对较短的最小提取间隔。如需了解详情,请参阅限制

设置应用内默认参数值

您可以在远程配置对象中设置应用内默认参数值,以便应用在连接到远程配置后端之前能够按预期运行,并且在后端中尚未设置任何值时可以使用默认值。

  remoteConfig.defaultConfig = ({
  'welcome_message': 'Welcome',
});

获取要在应用中使用的参数值

现在,您可以从远程配置对象中获取参数值。如果您稍后在后端中设置值、提取然后激活它们,这些值便可供您的应用使用。如需获取这些值,请调用 getValue() 方法,并以参数形式提供参数键。

设置参数值

借助 Firebase 控制台或 Remote Config REST API,您可以创建新的服务器端默认值,这些值会根据您需要的条件逻辑或用户定位替换应用内值。本部分逐步介绍了在 Firebase 控制台中创建上述值的步骤。

  1. Firebase 控制台中,打开您的项目。
  2. 从菜单中选择远程配置以查看远程配置信息中心。
  3. 定义与您在应用中定义的参数同名的参数。对于每个参数,您可以设置默认值(最终将替换应用内默认值),也可以设置条件值。如需了解详情,请参阅远程配置参数和条件

提取并激活值

  1. 如需从远程配置后端提取参数值,请调用 fetch() 方法。系统将提取您在后端中设置的所有值,并缓存在远程配置对象中。
  2. 如需将提取的参数值提供给您的应用,请调用 activate() 方法。

如果您想在一次调用中提取并激活值,请使用 fetchAndActivate(),如下例所示:

  remoteConfig.fetchAndActivate()
  .then(() => {
    showWelcomeMessage();
  })
  .catch((err) => {
    console.error(err);
  });

由于这些更新后的参数值会影响应用的行为和外观,因此您应该谨慎选择激活已提取的值的时机,例如在用户下次打开您的应用时激活,以确保为用户提供流畅的体验。如需了解更多信息和示例,请参阅远程配置加载策略

限制

如果应用在短时间内提取次数太多,提取调用可能会受到限制。在这种情况下,SDK 会抛出 FETCH_THROTTLE 错误。建议您捕获此错误,并在指数退避模式下重试,在两次后续提取请求之间等待更长时间间隔。

在应用开发期间,您不妨非常频繁地(每小时多次)刷新缓存,这样可以在开发和测试应用的同时快速迭代。为方便有众多开发者的项目快速迭代,您可以在应用中临时添加一个具有较短的最小提取间隔 (Settings.minimumFetchIntervalMillis) 的属性。

远程配置默认和建议的生产提取间隔为 12 小时,这意味着无论实际上调用了多少次提取方法,在 12 小时的时间段内最多从后端提取一次配置。具体而言,系统按以下顺序确定最小提取间隔:

  1. Settings.minimumFetchIntervalMillis 中的参数。
  2. 默认值 12 小时。

后续步骤

浏览远程配置用例并查看一些关键的概念和高级策略文档(如果您尚未这样做),其中包括: