Capacitor
使用 Capacitor 构建的 iOS 和 Android 应用程序的原生实时更新。安装 @capgo/capacitor-updater 并将 @capgo/cli 打包。
阅读更多 →实时推送 Ionic 和 Capacitor 应用程序的 web 层修复,跳过 App Store 等待。
来自 Martin 的人性化支持
14 天免费试用,无需信用卡。
原生回滚
JavaScript故障在JavaScript外恢复
99.9%的可用性
平台可用性
动态频道
Canary、beta、支持和生产跟踪
300+ 个边缘位置
全球CDN
~50ms的典型值
极低延迟
设备日志
每个设备的更新状态和回滚历史
使用相同的通道、打包上传、回滚保护和设备日志,无论您的应用程序是否在 Capacitor、Cordova 或 Electron 上运行。
使用 Capacitor 构建的 iOS 和 Android 应用程序的原生实时更新。安装 @capgo/capacitor-updater 并将 @capgo/cli 打包。
阅读更多 →使用 Cordova 工具链并在 iOS 7+ 和 Android 13+ 上获得 Capgo OTA 的方法是使用 @capgo/cordova-updater 和相同的 JavaScript API。
阅读更多 →推送 HTML、CSS 和 JavaScript 更新到桌面应用程序,无需重建安装程序。@capgo/electron-updater 镜像了移动 API。
→ 了解更多Capgo 为移动团队提供了紧急 Web 修复、控制回滚和清晰的审计记录的发布路径,使不良部署不会变成等待商店审查的几天。
使用实时更新进行 JavaScript、CSS、副本、运行时特性标志和 Web 资产修复,同时 native 和 Capacitor 配置更改继续通过商店。
将到内部、beta、canary 和生产渠道的部署准备好回滚,避免部署变成支持事件。
使用设备日志、更新状态、捆绑历史和采用度指标来解释发布给工程、支持和领导层。
来自使用Capgo进行生产OTA更新的Capacitor团队的简短笔记
Capgo 的 Capgo Capacitor 更新插件彻底改变了我们如何部署更新。过去的几天现在只需要几分钟。
能够立即推送生产 OTA 更新而不必等待完整的 App Store 审核周期,这对我们来说是一个巨大的运营优势。
一体化的本地运行时、回滚、验证和发布控制服务。
$ npx @capgo/cli bundle upload ✔ validated · ✔ published · ✔ rolling out
CLI 会扫描本地依赖并在部署不兼容更新之前给您发出警告。快速部署 Web 变更而不必推送破坏本地的 code 给客户。
下载、安装和激活都在native OS线程中运行。JavaScript崩溃不会影响更新过程。
在接受任何上传之前,验证notifyAppReady()、index.html、bundle大小限制和校验和。
每个更新都经过校验、签名和端到端加密。没有人可以篡改更新——甚至Capgo也看不到你的bundle里面的内容。
fallback bundle机制始终保持一个可用的版本。你的用户永远不会看到一个破损的应用。
Capgo通道是实时控制,不是硬编码的。从你的应用UI或API中即刻将用户从dev、staging、PR、canary和生产之间移动。
Capgo通知与实时更新配对起来,静默推送可以要求设备检查、下载并排队最新的bundle到所选的通道。
查看是否上传是 OTA 安全、需要本机构建,还是应该等待 —— 在它到达生产环境之前。
来自 Martin 的人工支持
$ npx @capgo/cli@latest bundle upload --channel production --fail-on-incompatible
警告:本机不兼容的包
@capacitor/camera 从 6.1.0 升级到 6.2.0
动作:失败此次上传,或者先交付一个本机构建
看到它移动
四个短动画:修复如何到达手机,什么可以通过空中传输,为什么下载保持小,如何从一个坏的发布中恢复
应用商店和Google Play
不适用于实时更新。两家商店允许应用下载解释的code,例如JavaScript、HTML和CSS,只要每个更新都在您提交审查的应用中。
我们的记录
0 次拒绝
我们在 4.7K+ 个生产应用中从未看到一个商店拒绝一个应用,因为它使用 Capgo 发送更新。
我们的启动屏幕自动隐藏功能与运行时链接到单独的启动屏幕插件。苹果的审查人员标记了动态链接作为动态 code 的问题。它与 OTA 更新无关,我们从插件中移除了动态链接。
Apps may download interpreted code if it doesn't change the app's primary purpose, create a storefront for other code or apps, or bypass signing, the sandbox, or other OS security features.
官方政策 : Apple应用程序无法在 Google Play 之外更新其本机 code 。 Code 在解释器或虚拟机中运行,例如在 WebView 中的 JavaScript,显式豁免。
官方政策 : Google Play审批决定始终属于 Apple 和 Google,因此任何供应商都无法保证批准。Capgo始终遵守他们发布的政策
阅读应用商店政策FAQAI 准备
克劳德 Code、光标、编码或任何代理都可以设置 Capgo、上传包、管理频道和请求本机构建。每个操作都是一个命令或一个工具调用
相同的Ionic和CapacitorOTA承诺。不同的安全模型。
| Capgo实时更新 | DIY / 自主托管 自定义脚本和静态托管 | 竞争对手云 | |
|---|---|---|---|
| 更新运行时 | 完全本地化 下载、安装并激活在本机线程中。JS崩溃无法中断更新管道。 | 在您的应用程序JS上下文中运行。一个坏包裹也可以中断更新。 | 大部分应用层交付。JS错误可以阻塞或损坏更新流。 |
| 回滚恢复 | 本地回滚 即使新包裹在启动时崩溃,仍然会回退到最后一个好的包裹,外部JavaScript之外。 | 您设计和维护自己的回滚逻辑。 | 回滚存在,但通常依赖于应用层仍然工作。 |
| 失败安装守卫 | 自动更新。 如果在10秒内未调用notifyAppReady()方法,则回滚。 | 您需要自己进行监控和配置。 | 根据产品而定,是否可选或手动。 |
| 原生兼容 | CLI检查。 在上传之前扫描原生依赖项,并标记破坏性更改。 | 除非您自己构建了保护栏,否则没有保护栏。 | 仅在大多数产品上进行上传验证。 |
| 预上传验证 | 深度检查。 验证index.html、包大小、校验和、重复版本和中心约束。 | 您的 CI 规则,如果您编写了它们。 | 基本包检查。 |
| 发布控制 | 动态频道。 Canary、beta、生产、支持和设备分配的频道。 | 多个托管 URL 或自定义路由。 | 支持的频道、深度和 API 各异。 |
| 设备可见性 | 设备日志。 安装、失败、回滚和策略事件每个设备,无需 Xcode 或 Android Studio。 | 自定义分析或服务器端下载计数。 | 仪表板聚合,设备每个设备深度较少。 |
| 试用前付费 | 是 14天免费试用,无需信用卡 | 流量增长前便宜的托管 | 按层级划分的计划,试用期根据供应商不同而异 |
比较反映了 DIY/自主托管设置和公共竞争对手云文档的典型情况
Capgo 为 Capacitor 网页包提供 JavaScript 修复:通道、回滚和设备日志。如您的应用为 React Native,则继续使用 EAS。如果您保留了 Web UI,则使用 Capgo