الانتقال إلى وحدة التحكم

Firebase 远程配置加载策略

Firebase 远程配置为如何及何时从服务器提取新值并在应用中激活这些值提供了充分的灵活性,可让您通过控制任何可见配置更改的时间来确保提供优质的最终用户体验。本指南介绍了几种加载策略,并讨论了为应用选择最佳方案的关键注意事项。

策略 1:在加载时提取并激活

在此策略中,您的应用首次启动时会调用 fetchAndActivate(),以便从远程配置中获取新值,并在加载完成后立即激活这些值。这种简单的方法非常适用于不会在界面中引起任何明显视觉变化的配置更改。当用户正在使用界面时,应避免在界面可能发生明显变化的情况下使用此策略。

策略 2:在加载屏幕后激活

您可以利用加载屏幕来补救策略 1 中遇到的潜在界面问题。您应当显示加载屏幕并在完成处理程序中调用 fetchAndActivate,而不是立即启动应用。此后,再次使用回调或通知,关闭加载屏幕并允许用户开始与您的应用进行交互。

如果您使用此策略,建议您向加载屏幕添加超时。对于远程配置,一分钟超时可能太长,无法为用户提供优质的应用启动体验。

策略 3:为下次启动加载新值

一种有效的策略是加载新的配置值,以便在应用下次启动时激活。在此策略中,您的应用在尝试提取新值之前会在启动时激活提取的值,执行此操作的前提是假设应用可能已经提取但尚未激活新配置值。该策略的操作顺序如下:

  1. 启动时,立即调用 activateFetched()。这将应用您在上一会话中从服务器下载的所有值,该过程几乎是即时完成的。
  2. 当用户与您的应用交互时,启动异步调用以提取新值。
  3. 在提取调用的完成处理程序中,不进行任何操作。您的应用将保留下载的值,直到您在应用下次启动时激活这些值。

借助此策略,用户等待时间将大大减少。但是,用户必须再次运行您的应用以查看最新配置。您需要根据业务和应用逻辑平衡这些考量因素。

避免使用的加载策略

基于上文中关于加载策略优缺点的讨论,您可能已经了解要避免的几种使用模式。

  • 切勿在用户查看界面或与界面进行交互时更新或切换界面的各个方面,除非出于应用或业务原因您不得不这么做,例如撤消与刚刚结束的促销活动有关的方案。
  • 切勿同时发送大量提取请求,这可能导致服务器限制您的应用。在大多数生产场景中,发生这种情况的风险很低,但在积极开发阶段可能会出现这种问题。查看针对 AndroidiOS 的限制指南。

后续步骤

这三种基本策略在任何情况下均不包含加载配置值的方式的完整列表。根据您的需求,您可以设计更复杂的策略,例如实时传播更新中描述的函数驱动型后台更新。

查看适用于您的平台的 API 参考,以详细了解用于提取和激活配置值的特定调用。