使用 Remote Config 强制执行最低应用版本

随着应用不断演进,新版本可能会对后端 API 引入破坏性更改、解决关键安全漏洞,或替换已弃用的服务和 AI 模型。在这种情况下,旧版应用可能无法可靠或安全地运行。

使用 Remote Config,您可以从云端动态控制应用版本要求。通过在 Remote Config 中定义版本参数,您可以提示或要求用户更新其应用,而无需部署自定义服务器基础架构或发布紧急更新。

选择更新策略

Remote Config 会提供要在客户端上评估的版本参数,让您可以根据更改的严重程度,为应用的更新界面配置以下两种策略之一:

  • 强制(屏蔽)更新:如果应用的早期版本与您的后端不兼容或存在安全风险,您可以屏蔽对该应用的访问,直到用户更新。如果已安装的版本低于所需的最低版本,您可以将应用配置为显示一个不可关闭的对话框,引导用户前往平台应用商店安装最新版本。
  • 灵活(可选)更新:如果更新引入了新功能、性能改进或次要问题修复,您可以将应用配置为显示可关闭的横幅或提示,鼓励用户在方便时进行更新,同时允许他们继续使用应用。

第 1 步:在 Firebase 控制台中配置参数

如需管理应用版本,请在 Remote Config 模板中定义参数:

  1. 在 Firebase 控制台中,前往 DevOps 和互动 > Remote Config > 参数页面。
  2. 点击添加参数(如果这是您的第一个参数,请点击创建配置)。
  3. 定义以下参数:
    • minimum_version:一个字符串,表示应用支持的最早版本(例如 "2.4.0")。运行低于此值的版本的应用会被屏蔽,直到更新为止。
    • latest_version(可选):一个字符串,表示应用的最新可用版本(例如 "2.5.1")。运行 minimum_version 到 latest_version 之间版本的应用可以显示可选的更新建议。
    • update_url(可选):用户可以下载更新的应用商店网址(例如 Google Play 商店或 Apple App Store 商品详情)。
  4. 可选:添加平台专属条件:
    • 由于 Android 应用和 Apple 应用通常使用不同的发布版本和商店网址,因此您可以在同一参数下为每个平台添加条件值。
    • 依次点击添加条件的值 > 创建条件。为条件命名(例如 Android App 或 iOS App),选择应用作为定位规则,然后选择您的应用。
    • 为每个平台条件设置适当的版本字符串,并将默认值保留为后备值。
  5. 点击保存,然后点击发布更改以应用模板。

第 2 步:实现客户端版本检查

在客户端上,在启动期间根据 Remote Config 参数检查安装式应用版本:

  1. 设置应用内默认值:始终在应用 bundle 中提供安全的应用内默认值(例如,将 minimum_version 设置为初始应用版本,例如 "1.0.0")。此后备配置可确保在设备离线或初始提取请求失败时,应用仍能继续正常运行。如需查看针对具体平台的指南,请参阅下载 Remote Config 模板默认值。
  2. 提取并激活 Remote Config:在应用启动时提取并激活最新的模板值。
  3. 比较版本:检索有效的 minimum_version 和 latest_version 字符串,并将其与当前安装的应用版本进行比较。

  4. 根据版本比较结果采取行动:

    • 强制执行必要更新:如果 current_version 早于 minimum_version,则显示全屏、不可关闭的模态提醒。停用前往应用其他部分的导航功能,并提供一个按钮,用于在平台应用商店中打开 update_url。
    • 提示可选更新:如果 current_version 早于 latest_version,则显示一个可关闭的对话框或通知,让用户知道有可用更新,并提供立即更新或稍后更新选项。
    • 允许访问:否则,允许用户继续进入应用。

最佳做法

  • 添加实时监听器:如果因安全问题或用户体验严重下降而需要更新版本,为应用添加实时 Remote Config 监听器有助于确保版本要求更改立即在活跃设备上生效,而无需等待下一次按计划提取或应用重启。
  • 使用有限的测试群组进行测试:在为所有正式版用户提高 minimum_version 之前,请先使用有限的测试群组测试该条件,或使用自定义用户属性定位内部测试人员。此测试可验证屏蔽模态窗口是否正确显示,以及商店链接是否正确解析。
  • 使用平台应用内更新 API:在 Android 上,考虑将 Google Play 应用内更新与 Remote Config 检查集成,以便用户无需离开应用即可下载和安装更新。
  • 阅读生产环境核对清单:阅读 Firebase 发布核对清单和 AI Logic 生产环境核对清单,获取有关如何为应用和 AI 功能做好生产环境准备的更多指导。