Firebase Remote Config

无需发布应用更新就能更改应用的行为和外观,没有任何费用,亦无日活跃用户数限制。

Firebase Remote Config 是一项云服务,让您可以更改应用的行为和外观,而无需用户下载应用更新。使用 Remote Config 时,您可以创建应用内默认值以控制应用的行为和外观。之后,您便可以使用 Firebase 控制台或 Remote Config 后端 API 为所有应用用户或细分用户群替换应用内默认值。您的应用可控制何时激活更新后的值,并能经常检查有无更新并激活新值,整个过程对性能的影响微乎其微。

iOS+ 设置 Android 设置 Web 设置 Flutter 设置 C++ 设置 Unity 设置 后端 API

主要功能

向应用的用户群快速发布更改 您可以通过更改服务器端参数值来更改应用的默认行为和外观。例如,您可以将功能标志设置为 Remote Config 参数,这样无需发布应用更新,就能更改应用的布局或颜色主题以配合季节性促销。
为细分用户群量身打造应用 您可以使用 Remote Config 按应用版本、语言、Google Analytics(分析)受众群体导入的细分为应用的不同细分用户群提供不同的用户体验。
利用 Remote Config 个性化功能,针对各细分用户自动且持续地量身打造应用,并针对战略目标优化应用 利用机器学习技术,您可以使用 Remote Config 个性化功能持续地量身打造每位用户的体验,以针对用户互动度、广告点击次数和收入等目标或针对可通过 Google Analytics(分析)进行衡量的任何自定义事件优化您的应用。
运行 A/B 测试以改进您的应用 您可以结合使用 A/B Testing适用于 Google Analytics(分析)的随机百分比定位功能,在不同的细分用户群中进行 A/B 测试,以改进您的应用。这样一来,您可以先验证改进,然后再将其推向整个用户群。

工作原理

Remote Config 包括一个客户端库,可以处理如提取和缓存参数值等重要任务,同时仍让您能够控制何时激活新的值,从而左右应用用户的体验。这样,您就可以通过控制更改的时机来维持良好的应用体验。

建议向提取逻辑添加实时 Remote Config 功能,以便在有新的 Remote Config 参数值发布时立即自动提取这些最新的值。

Remote Config 客户端库中的各种 get 方法提供了统一的参数值访问点。应用在获取服务器端值时所使用的逻辑与在获取应用内默认值时相同,因此您无需编写大量代码,就可以将 Remote Config 的各项功能添加到您的应用中。

如需替换应用内默认值,您可以使用 Firebase 控制台或 Remote Config 后端 API 来创建与应用中使用的参数同名的参数。对于每个参数,您可以设置服务器端默认值来替换应用内默认值,也可以创建条件值来替换满足特定条件的应用实例的应用内默认值。

如需详细了解参数、条件以及 Remote Config 如何解决条件值之间的冲突,请参阅 Remote Config 参数和条件

实现流程

为您的应用集成 Remote Config 定义您希望能够使用 Remote Config 更改应用的行为和外观的哪些方面,并将这些转换为您将在应用中使用的参数。
设置默认参数值 使用 setDefaults() 为 Remote Config 参数设置应用内默认值,并视需要下载 Remote Config 模板默认值
添加用于提取、激活和获取参数值的逻辑 您的应用可以安全高效地从 Remote Config 后端定期提取参数值,并激活这些提取的值。通过实时 Remote Config,您的应用可在新的 Remote Config 版本发布后立即提取更新的值,而无需进行轮询。

这样,您在编写自己的应用时便不必担心提取值的最佳时机,甚至不用担心是否存在任何服务器端值。

您的应用使用 get 方法获取参数的值,这与读取应用中定义的局部变量的值类似。

(根据需要)更新服务器端默认值和条件参数值 您可以在 Firebase 控制台中或使用 Remote Config 后端 API 定义值来替换应用内默认值。在发布应用之前或之后,您都可以执行此操作,因为相同的 get 方法既可以访问应用内默认值,也可以访问从 Remote Config 后端中提取的值。如需详细了解如何管理和更新 Remote Config 参数和值,请参阅 Remote Config 模板和版本控制
(根据需要)更新客户端默认参数值 每当更新应用时,您都应将其默认参数值与 Remote Config 后端同步。您可以使用 XML、属性列表 (plist) 或 JSON 格式快速下载默认值文件,以使用 REST API 和 Firebase 控制台更新应用。如需了解详情,请参阅下载 Remote Config 模板默认值

政策和限制

请注意以下政策:

  • 不要使用 Remote Config 进行本应要求获得用户授权的应用更新。这可能会导致您的应用被视为不可信任。
  • 不要在 Remote Config 参数键或参数值中存储机密数据。Remote Config 数据在传输过程中会加密,但最终用户可以访问其客户端应用实例可用的任何默认或提取的 Remote Config 参数。
  • 不要试图使用 Remote Config 规避应用的目标平台的要求。

Remote Config 参数和条件都受到一定的限制。 如需了解详情,请参阅参数和条件的限制

请注意以下限制:

  • 一个 Firebase 项目可拥有 2000 个 Remote Config 参数,这些参数需遵循参数和条件的限制中详述的长度和内容限制。

  • Firebase 最多可存储 300 个生命周期版本的 Remote Config 模板。此 300 版本生命周期限制包括已删除模板的存储版本号。如需了解详情,请参阅模板和版本控制

想要存储其他类型的数据?

  • Cloud Firestore 是一种灵活且可扩容的数据库,适用于在 Firebase 和 Google Cloud 上进行移动、Web 和服务器开发。
  • Firebase Realtime Database 可存储 JSON 应用数据(如游戏状态或聊天消息),还可以在所有已连接的设备上即时同步更改。如需详细了解各数据库方案之间的差异,请参阅选择数据库:Cloud Firestore 或 Realtime Database
  • Firebase Hosting 可托管您的网站的全局资源(包括 HTML、CSS 和 JavaScript)以及由开发者提供的资源(如图形、字体和图标)。
  • Cloud Storage 可存储图像、视频和音频等文件,以及用户生成的其他内容。

后续步骤