跳转至正文
Capgo Live Update

Capacitor Live Updates (OTA) 无需等待应用商店审核,即可发布 Web 层修复。

Capacitor Live Updates (OTA) 可在几分钟内将 JavaScript、HTML、CSS 和资源变更推送给用户。Capgo 负责签名分发、Channels、回滚和设备级日志,让你安全修复生产问题。

✓ 99.9% 可用性 ✓ 300+ 个活跃节点 ✓ 三家供应商容灾保障

原生回滚

JS 故障可在 JavaScript 之外恢复

99.9% 可用性

平台可用性

动态频道

Canary、beta、support 和 production 轨道

300+ 边缘节点

全球 CDN

~50ms(典型)

超低延迟

设备日志

单设备更新状态与回滚历史

已通过审核 ≠ 已安装

应用商店更新何时到达用户,由手机决定。live update 则会在用户下次打开 App 时送达。

通过审核只是第一道关卡。之后,商店还要分批推送 build,而每台手机只有在连接 Wi-Fi、插电且闲置时才会在后台下载。关闭自动更新或手机存储已满的用户,除非手动更新,否则根本收不到。

App Store / Google Play 更新

数天到数周,有些用户甚至从不更新

  1. 等待审核

    数小时至数天

    Apple 和 Google 正在审核新的二进制包。此时谁都还没拿到修复。

  2. 等待应用商店发布

    最多 7 天

    审核通过的 build 会在商店中逐步推送,通常会分阶段发布数日。

  3. 等待 Wi-Fi、充电和手机空闲

    几晚到数周

    自动更新在后台运行,通常发生在夜间,且仅在手机连接 Wi-Fi、充电并闲置时触发。

  4. 自动更新已关闭

    仅限手动

    这些用户会一直使用旧版本,直到他们主动打开应用商店并点击更新。

  5. 存储空间不足

    永不

    完整 App 下载放不下,更新就会静默失败,永远装不上。

几周之后,部分用户仍在使用有 Bug 的版本。

Capgo live update

在每个打开 App 的设备上,仅需几分钟

  1. 发布 bundle

    秒级

    从 CLI 或 CI 上传。JavaScript、HTML 和 CSS 的更改无需审核队列。

  2. 用户打开 App

    下次启动

    App 在启动时会通过 Wi-Fi 或蜂窝网络检查 Capgo。无需插电,手机也无需闲置,也不涉及应用商店。

  3. 增量下载

    千字节

    只下载有变更的文件,通常只有几 KB,因此存储空间和应用商店自动更新设置都不影响。

  4. 启动即生效

    同一次启动

    通过直接更新,新 bundle 会在本次启动期间生效。用户可以立即看到修复效果。

每个打开 App 的用户都会用上新版本。

已更新 仍在使用旧版本 无法自动获取更新 展示一次发布如何在 24 台设备上分发的示意图。
专为发布压力而生

准确了解 CapacitorJS 应用生产环境故障时会发生什么。

Capgo 为移动团队提供紧急 Web 修复、受控发布和清晰审计追踪的发布路径,避免一次糟糕的部署变成数天的应用商店审核等待。

无需等待审核,即刻恢复生产环境

通过 Live Updates 修复 JavaScript、CSS、文案、运行时 feature flags 和 Web 资源,而原生和 Capacitor 的配置变更仍走应用商店发布。

在全量发布前控制风险

发布到内部、Beta、Canary 和生产频道,并提前准备好回滚,避免发布演变成支持事件。

证明发布后发生了什么

利用设备 logs、更新状态、bundle 历史和采用率指标,向工程、支持和领导层说明发布情况。

符合以下情况时,选择 Live Updates

  • 你需要一条不依赖 App Store 或 Play 审核时间的生产环境 Bug 恢复路径。
  • 如果您的应用有多个客户群组、白标部署、Beta 测试人员,或仅供支持使用的调试渠道。
  • 您的团队需要符合合规要求的控制能力:签名 bundle、回滚、可审计性以及自托管方案。

工作原理

Capacitor OTA 更新的工作原理

追求速度时自动执行,需要控制时手动操作。每一步都有安全检查。

支持的运行时

一个 Capgo 后端,适用于你发布的所有混合技术栈。

无论你的应用运行在 Capacitor、Cordova 还是 Electron 上,都能使用相同的 channel、bundle 上传、回滚保护和设备日志。

Capacitor

为使用 Capacitor 构建的 iOS 和 Android 应用提供原生 Live Updates。安装 @capgo/capacitor-updater,并通过 @capgo/cli. 发布 bundle。

阅读更多 →

Cordova

保留你的 Cordova 工具链,借助 @capgo/cordova-updater 和相同的 JavaScript API,仍可在 iOS 7+ 和 Android 13+ 上获得 Capgo OTA。

阅读更多 →

Electron

无需重新构建安装程序,即可向桌面应用推送 HTML、CSS 和 JavaScript 更新。@capgo/electron-updater 与移动端的 API 保持一致。

阅读更多 →
发布控制

管理 Capacitor OTA 更新:渠道、灰度发布与回滚

渠道、渐进式发布、原生依赖检查和每台设备的历史记录,全都在控制台里。截图来自 Capgo 演示 App。

向部分设备推送,一旦失败立即暂停

向固定比例的设备推送新 bundle,其余设备保持在稳定的 fallback 版本。当失败率超过阈值时,Auto-pause 会自动停止推送。

  • 先小范围开始,再一键推送到所有设备
  • 按失败率触发 Auto-pause,并设置最小样本量
  • 无需应用商店审核即可回滚到稳定 bundle
Capgo channel 页面展示:25% 的设备正在接收 bundle 4.8.1,4.8.0 为稳定 fallback,包含渐进式发布控制和 auto-pause 设置
产品上线后

发布后在真机上监控 OTA 更新

每个 live update 都配有发布视图:实时查看安装和失败情况,失败按原因分组,并在 bundle 需要新的 Native Build 时给出警告。

逐分钟见证版本上线

一旦 bundle 上线,Observe 就会以 5 分钟为粒度,实时追踪该版本和 channel 的安装量、失败尝试、采用率和成功率。

探索 Capgo Observe
  • 几分钟内判断发布是否健康,不用等支持工单
  • 当前线上版本的失败原因排行
  • 从版本跳转到对应 bundle 或 channel 统计
Capgo Observe 实时发布视图,展示生产环境版本 4.8.1 的采用率、安装量、失败尝试、成功率、安装与失败趋势图以及主要失败原因
功能概览

Capacitor OTA 更新的完整系统

大多数工具都能上传文件。Capgo 则增加了生产团队所需的发布控制、原生安全性、日志和回滚行为。

Capgo Live Update
纯原生引擎
下载、安装和激活都在原生 OS 线程上运行。JavaScript 崩溃不会影响更新过程。
$ npx @capgo/cli bundle upload
✔ validated · ✔ published · ✔ rolling out

破坏性更新检测

CLI 会扫描原生依赖,并在部署不兼容更新前发出警告。快速发布 Web 变更,无需向客户推送会破坏原生兼容性的 code。

自动回滚

如果您的应用在 10 秒内未调用 notifyAppReady(),我们将自动回滚到上一个可用版本。

预检验证

在接受任何上传之前,都会验证 notifyAppReady()、index.html、bundle 大小限制和校验和。

防篡改更新

每次更新都会计算校验和、签名并进行端到端加密。没人能篡改更新——连 Capgo 也看不到你 bundle 里的内容。

自愈更新

Fallback bundle 机制始终维持一个可用版本,用户永远不会看到应用无法使用。

实时切换发布轨道(无需新二进制)

Capgo 渠道是实时控制项,而非硬编码。你可以通过应用 UI 或 API,即时在 dev、staging、PR、canary 和 production 之间迁移用户。

推送触发自动更新

将 Capgo Notifications 与 Live Updates 搭配使用,这样静默推送就能让设备检查、下载并将所选渠道的最新 bundle 加入队列。

来自 Martin

为什么 Capgo live updates 是这样工作的

Capgo 创始人 Martin 分享 channels、兼容性检查、回滚,以及应用商店审核通过后如何安全发布 web bundle 变更。

Martin,Capgo 创始人

Live update 实证

已经用 Capgo 发布的团队

来自用 Capgo 做生产环境 OTA 更新的 Capacitor 团队的简短评价。

5.0/5 开发者团队评分 9,400+ 团队 查看评价

Capgo Capacitor Updater 插件彻底改变了我们发布更新的方式。以前需要几天的工作,现在只需几分钟。

Sergiu S drivolino GmbH 首席开发者

能够即时推送生产环境的 OTA 更新,而无需等待完整的 App Store 审核周期,这带来了巨大的运营优势。

Kapil NuTriQ 创始人

AI Agent 驱动的 Live Updates

让你的 Agent 发布和回滚版本

通过 MCP 和 Agent Skills,把 Claude Code、Codex、Cursor 或 Copilot 连接到 Capgo。你的 Agent 可以上传 bundles、切换 channels,并像 CLI 一样经过相同的检查后回滚。

试着这样问你的 Agent

  • 把这个 build 上传到 beta channel
  • 将生产环境回滚到上一个 bundle
  • 这个改动可以直接作为 live update 发布,还是需要 native build?
发布洞察

在发布前发现破坏性更新

在更新进入生产环境之前,查看上传是否 OTA 安全、是否需要原生构建,或应暂缓处理。

  • OTA 安全:原生包与生产渠道匹配
  • 需要原生构建:插件或 Capacitor 依赖项已更改
  • 发布操作:按原生版本设门禁、暂停渠道,或触发商店构建

$ 使用 npx @capgo/cli@latest bundle upload --channel production --fail-on-incompatible 进行 Live Update 指引

warning: bundle 与 native 不兼容

@capacitor/camera 从 6.1.0 变更为 6.2.0

action: 让本次 upload 失败,或先发布 Native Build

客观对比

Capgo Live Updates 与其他方案对比

同样的 Ionic 和 Capacitor OTA 承诺。不同的安全模型。

Capgo Live Update DIY / 自托管 自定义脚本与静态托管 竞品云服务
更新运行时 完全原生。 在原生 OS 线程上完成下载、安装和激活。JS 崩溃不会中断更新 pipeline。 在应用的 JS 上下文中运行。有问题的 bundle 也会导致更新失败。 主要在应用层交付。JS 错误可能会阻塞或损坏更新流程。
回滚恢复 原生回滚。 即使新 bundle 启动即崩溃,也能在 JavaScript 之外回退到上一个可用 bundle。 由您自行设计并维护回滚逻辑。 虽然支持回滚,但通常依赖于应用层仍能正常运行。
安装失败防护 自动。 若 10 秒内未调用 notifyAppReady(),则会自动回滚。 由你自己埋点并监控。 视具体产品而定,可选或手动。
原生兼容性 CLI 检查。 在 upload 前扫描原生依赖并标记破坏性变更。 除非自行构建,否则没有任何防护机制。 大多数产品仅提供 upload 校验。
Upload 前校验 深度检查。 校验 index.html、bundle 大小、checksum、重复版本及 hub 约束。 取决于你编写的 CI 规则。 基础 bundle 检查。
发布控制 动态 channel。 Canary、beta、production、support 及按设备分配 channel。 支持多个托管 URL 或自定义路由。 支持的 Channel、深度和 API 各不相同。
设备可见性 按设备查看日志。 无需 Xcode 或 Android Studio,即可查看每台设备的安装、失败、回滚和策略事件。 自定义分析或服务端下载计数。 Dashboard 聚合数据,单设备深度较低。
先试后买 退款保证 是的。 14 天无限免费试用。无需信用卡。 14 天退款保证。随时取消。 流量增长前,托管成本低。 分级方案。试用期因供应商而异。

对比基于典型的 DIY/自托管部署,以及竞品公开的云文档。

从 Expo 迁移过来?

Capacitor 应用的 EAS Update 替代方案

EAS Update 为 Expo 和 React Native 应用发布 JavaScript 修复。Capgo 对 Capacitor web bundles 做同样的事:channels、rollback 和 device logs。应用是 React Native 就继续用 EAS;保留了 web UI 就用 Capgo。

App Store & Google Play

Apple 或 Google 会拒绝 OTA 更新吗?

被拒并不是因为使用了 live updates。只要每次更新都保持在您提交审核的应用范围内,两大应用商店都允许应用下载 JavaScript、HTML 和 CSS 这类解释型 code。

我们的记录

0 次拒绝

在超过 4700 个生产环境应用中,我们从未见过有应用因为通过 Capgo 发布更新而被应用商店拒绝。

Apple 是否曾标记过 Capgo?

我们的启动屏自动隐藏功能在运行时链接到了单独的启动屏插件。Apple 的审核将这种动态链接标记为动态 code 方面的问题。这与 OTA 更新无关,我们已从插件中移除该动态链接。

Apple 远程 code 审核与 Capgo

Capgo 不会导致 Apple 远程 code 执行被拒。这不可能。Capgo 不会安装或执行原生 code。它只向你的 Capacitor 应用内已有解释器发送已签名的 JavaScript、HTML、CSS 和静态资源。指南 2.5.2 针对的是动态原生加载,以及调用私有 API 的远程脚本,而 Capgo 并不会这样做。你的团队仍需确保每次 Web 更新都不超出你提交审核时的应用用途。

遵守规则

  • 通过 OTA 发布 Web 层变更:JavaScript、HTML、CSS 和静态资源。
  • 原生 code、权限和插件变更请通过应用商店发布。
  • 确保每次更新都不超出你提交审核时的应用用途。

审核决定始终由 Apple 和 Google 做出,因此没有供应商能保证审核通过。Capgo 让你始终符合他们公布的政策。

阅读应用商店政策 FAQ

定价

从小规模开始,按需扩展。

轻量使用可购买预付费额度,业务增长后可选择月付或年付方案。

  • 按量付费

    $5 按积分

    可覆盖一年的轻量使用。

    无需订阅。

  • 独立开发者

    $12 /月,按年计费

    2,000 名月活跃用户

    适合发布首款 App 的独立开发者

  • 开发者

    最受欢迎

    $33 /月,按年计费

    10,000 名月活跃用户

    适合用户量不断增长的小型团队

  • 团队

    $83 /月,按年计费

    100,000 月活跃用户

    专为向 100,000 名用户发布产品的产品团队打造

  • 企业版

    $208 /月,按年计费

    1,000,000+ 月活跃用户

    适用于需要 SSO、SLA 和合规性的大型应用

对比所有方案和用量定价
常见问题

Capacitor OTA 更新常见问题

为评估 Capacitor 和 Ionic 应用 OTA 更新的团队提供简短解答。

什么是 Capacitor 的 Live Updates(OTA)?

它们会替换 Capacitor 应用内的 web bundle(HTML、CSS、JavaScript 和资源),无需发布新的商店二进制包。应用检查发布渠道并下载已签名的 bundle 后,用户即可获得修复。

App Store 和 Google Play 允许 Capacitor OTA 更新吗?

可以,前提是变更属于符合条件的 Web 层改动,并符合各应用商店的政策。Native plugin 变更、权限调整以及新的可执行行为仍需走常规的应用商店发布流程。

live update 与提交新 App 版本有什么区别?

应用商店发布更新的是 Native shell,并且要经过审核。OTA live updates 只针对 Web 层,因此团队可以通过 channels 在几分钟内发布、暂停或回滚 bundle。

Capgo 能读取我的更新 bundle 吗?

启用端到端加密后,bundle 会在上传前用你的密钥加密。Capgo 只存储密文,无法读取内容;只有你的 App 能解密你发布的内容。

Apple 的远程 code 执行规则适用于 Capgo live updates 吗?

不,这不可能。Capgo 不会导致 Apple 远程 code 执行被拒。Capgo 审核通过后不会安装或执行原生 code。App Review Guideline 2.5.2 禁止应用下载、安装或执行会引入或改变功能或特性的 code;而 Apple Developer Program License Agreement 第 3.3.1(B) 条仍允许使用解释型 JavaScript、HTML 和 CSS,前提是应用保持相同的主要用途、遵守 OS 安全要求,且不变成应用商店。第 3.3.1(C) 条则单独限制未经 Apple 批准,在 App Store 分发之外提供或启用额外功能;请咨询法律顾问,确认这是否适用于您的 OTA bundles。Capgo 会在您已随应用发布的 WebView 或 JavaScriptCore 引擎内替换已签名的 Web 资源。它不会下发原生二进制文件或动态库。如果您的应用宣传的是未嵌入二进制文件的 mini apps 目录或类似软件,则可能适用 Guideline 4.7,您应咨询法律顾问审阅这些规则。原生插件、权限和 entitlement 的变更仍需要经商店审核的二进制文件。

我可以控制 live update 何时以及如何应用吗?

是的。你可以选择更新何时生效:下次启动时在后台更新(默认)、安装时、启动时或立即生效。你还可以让它等待特定条件,例如指定日期、应用进入后台、某个原生版本,或应用被系统杀掉时。Version blocking 可以阻止 channel 跨越 major、minor 或 patch 版本。每个 bundle 既可以作为完整 bundle 发布,也可以作为 delta 发布,仅下载变更文件。Capgo 文档中的更新类型指南涵盖了所有组合。

Capgo Live Update
今天发布你的下一个修复版本。

5 分钟即可开启自动更新。发布策略需要时,切换到手动控制。

✓ 99.9% 可用性 ✓ 全球 CDN 分发 ✓ 14 天无限免费试用 14 天退款保证