随着应用不断演进,新版本可能会对后端 API 引入破坏性更改、解决关键安全漏洞,或替换已弃用的服务和 AI 模型。在这种情况下,旧版应用可能无法可靠或安全地运行。
使用 Remote Config,您可以从云端动态控制应用版本要求。通过在 Remote Config 中定义版本参数,您可以提示或要求用户更新其应用,而无需部署自定义服务器基础架构或发布紧急更新。
选择更新策略
Remote Config 会提供要在客户端上评估的版本参数,让您可以根据更改的严重程度,为应用的更新界面配置以下两种策略之一:
- 强制(屏蔽)更新:如果应用的早期版本与您的后端不兼容或存在安全风险,您可以屏蔽对该应用的访问,直到用户更新。如果已安装的版本低于所需的最低版本,您可以将应用配置为显示一个不可关闭的对话框,引导用户前往平台应用商店安装最新版本。
- 灵活(可选)更新:如果更新引入了新功能、性能改进或次要问题修复,您可以将应用配置为显示可关闭的横幅或提示,鼓励用户在方便时进行更新,同时允许他们继续使用应用。
第 1 步:在 Firebase 控制台中配置参数
如需管理应用版本,请在 Remote Config 模板中定义参数:
- 在 Firebase 控制台中,前往 DevOps 和互动 > Remote Config > 参数页面。
- 点击添加参数(如果这是您的第一个参数,请点击创建配置)。
- 定义以下参数:
minimum_version:一个字符串,表示应用支持的最早版本(例如"2.4.0")。运行低于此值的版本的应用会被屏蔽,直到更新为止。latest_version(可选):一个字符串,表示应用的最新可用版本(例如"2.5.1")。运行minimum_version到latest_version之间版本的应用可以显示可选的更新建议。update_url(可选):用户可以下载更新的应用商店网址(例如 Google Play 商店或 Apple App Store 商品详情)。
- 可选:添加平台专属条件:
- 由于 Android 应用和 Apple 应用通常使用不同的发布版本和商店网址,因此您可以在同一参数下为每个平台添加条件值。
- 依次点击添加条件的值 > 创建条件。为条件命名(例如
Android App或iOS App),选择应用作为定位规则,然后选择您的应用。 - 为每个平台条件设置适当的版本字符串,并将默认值保留为后备值。
- 点击保存,然后点击发布更改以应用模板。
第 2 步:实现客户端版本检查
在客户端上,在启动期间根据 Remote Config 参数检查安装式应用版本:
- 设置应用内默认值:始终在应用 bundle 中提供安全的应用内默认值(例如,将
minimum_version设置为初始应用版本,例如"1.0.0")。此后备配置可确保在设备离线或初始提取请求失败时,应用仍能继续正常运行。如需查看针对具体平台的指南,请参阅下载 Remote Config 模板默认值。 - 提取并激活 Remote Config:在应用启动时提取并激活最新的模板值。
比较版本:检索有效的
minimum_version和latest_version字符串,并将其与当前安装的应用版本进行比较。根据版本比较结果采取行动:
- 强制执行必要更新:如果
current_version早于minimum_version,则显示全屏、不可关闭的模态提醒。停用前往应用其他部分的导航功能,并提供一个按钮,用于在平台应用商店中打开update_url。 - 提示可选更新:如果
current_version早于latest_version,则显示一个可关闭的对话框或通知,让用户知道有可用更新,并提供立即更新或稍后更新选项。 - 允许访问:否则,允许用户继续进入应用。
- 强制执行必要更新:如果
最佳做法
- 添加实时监听器:如果因安全问题或用户体验严重下降而需要更新版本,为应用添加实时 Remote Config 监听器有助于确保版本要求更改立即在活跃设备上生效,而无需等待下一次按计划提取或应用重启。
- 使用有限的测试群组进行测试:在为所有正式版用户提高
minimum_version之前,请先使用有限的测试群组测试该条件,或使用自定义用户属性定位内部测试人员。此测试可验证屏蔽模态窗口是否正确显示,以及商店链接是否正确解析。 - 使用平台应用内更新 API:在 Android 上,考虑将 Google Play 应用内更新与 Remote Config 检查集成,以便用户无需离开应用即可下载和安装更新。
- 阅读生产环境核对清单:阅读 Firebase 发布核对清单和 AI Logic 生产环境核对清单,获取有关如何为应用和 AI 功能做好生产环境准备的更多指导。