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

随着应用不断发展,新版本可能会对后端 API 引入重大变更、解决严重的安全漏洞,或替换已弃用的服务和 AI 模型。在这些情况下,旧版应用可能无法可靠或安全地运行。

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

选择更新策略

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

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

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

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

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

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

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

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

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

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

最佳做法

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