Firebase Remote Config 为如何及何时从服务器提取新值并在应用中激活这些值提供了充分的灵活性,可让您通过控制任何可见配置更改的时间来确保提供优质的最终用户体验。本指南介绍了几种加载策略,并讨论了为应用选择最佳方案的关键注意事项。
策略 1:在加载时提取并激活
在此策略中,您的应用首次启动时会调用 fetchAndActivate()
,以便从 Remote Config 获取新值,并在加载完成后立即激活这些值。这种简单的方法非常适用于不会在界面中引起任何明显视觉变化的配置更改。当用户正在使用界面时,应避免在界面可能发生明显变化的情况下使用此策略。
策略 2:在加载屏幕后激活
您可以利用加载屏幕来补救策略 1 中遇到的潜在界面问题。您应当显示加载屏幕并在完成处理程序中调用 fetchAndActivate
,而不是立即启动应用。随后马上再次使用回调或通知,关闭加载屏幕并允许用户开始与您的应用进行交互。
如果您使用此策略,建议您向加载屏幕添加超时。对于 Remote Config,一分钟超时可能太长,无法为用户提供良好的应用启动体验。
策略 3:为下次启动加载新值
一种有效的策略是加载新的配置值,以便在应用下次启动时激活。在此策略中,您的应用会在启动时激活提取的值,然后再尝试提取新值,这种做法假设应用可能已经提取但尚未激活新配置值。该策略的操作顺序如下:
- 启动时,立即激活之前提取的值。这将应用您在上一会话中从服务器下载的所有值,该过程几乎是即时完成的。
- 当用户与您的应用交互时,启动异步调用以根据默认最小提取间隔提取新值。
- 在此提取调用的完成处理程序或回调中,不执行任何操作。您的应用将保留下载的值,直到您在应用下次启动时激活这些值。
借助此策略,用户等待时间将大大减少。但是,用户必须再次运行您的应用才能看到最新配置。您需要根据业务和应用逻辑平衡这些考量因素。
应该避免使用的加载策略
基于上文中关于加载策略优缺点的讨论,您可能已经了解到,我们应该避免几种使用模式。
- 切勿在用户查看界面或与界面进行交互时更新或切换界面的各个方面,除非出于应用或业务原因您不得不这么做,例如移除与刚刚结束的促销活动有关的选项。
- 切勿同时发送大量提取请求,这可能导致服务器限制您的应用。在大多数生产场景中,发生这种情况的风险很低,但在积极开发阶段可能会出现这种问题。查看 Android 平台和 Apple 平台的限制指南。
- 请勿依赖网络连接来获取 Remote Config 值。务必设置应用内默认参数值,确保应用始终按预期运行。您可以使用下载的模板默认值定期同步应用和 Remote Config 后端默认值。
后续步骤
这三种基本策略不能代表加载配置值的所有方式。根据您的需求,您可以设计更复杂的策略,例如实时传播更新中描述的函数驱动型后台更新。
查看适用于您的平台的 API 参考,以详细了解用于提取和激活配置值的具体调用。