What is Capacitor-updater?
Capacitor-updater, a technology that helps in the delivery of app updates and improvements to the end users instantly.
如果您想立即修复关键错误并将其直接传递给用户,而不需要通过App Store进行审核,这将非常有用。
您可以将其视为“网页般”的侧载更新的灵活性,即使在应用更新可用时也可以立即进行更新。
此外,它还提供回滚功能,如果新更新会导致应用程序崩溃
它是如何工作的?
Capgo 会保持应用程序的 JavaScript 包在同步状态与 Capgo 服务器,用户每次打开应用程序,它会检查 Capgo 服务器是否有新的更新可供应用程序包使用。当然,它还提供了大量的配置选项,帮助您精细调整用户体验。
我在所有项目中都使用 Capgo。这使得我可以减少在 App Store 审核过程中的时间。
您可以阅读更多关于它的信息 了解更多.
了解语义版本控制的 Capgo
Capgo 使用语义版本控制(semver)来确定何时和如何应用更新到应用程序。这确保了您的用户只接收兼容的更新,并防止自动部署破坏性更改。
语义版本控制遵循以下格式 MAJOR.MINOR.PATCH:
- MAJOR: 需要发布 native 应用商店版本的破坏性更改
- MINOR: 新增的向后兼容的功能
- PATCH: 向后兼容的 bug 修复
例如,如果您的应用程序当前版本为 1.0.0 并且您希望更新到 1.0.1 (修补程序),Capgo 将自动应用此更新。然而,如果您希望从 1.0.0 到 2.0.0 (一个主要版本),这将需要一个本机应用商店发布,因为这表明了破坏性更改。
Capgo 的频道设置允许您配置哪些类型的更新将自动应用:
- 主要策略: 允许所有更新(谨慎使用)
- 次要策略: 允许仅进行小版本和微小版本更新
- Patch strategy: 只允许进行微小版本更新
- Metadata strategy: 需要满足最低版本要求
You can test how different version combinations work with Capgo’s update logic using our Semver Tester 工具测试不同版本 combination 的更新逻辑
是否有任何限制?
虽然看起来很不错,但我们需要注意一些事情。 首先,OTA 更新 仅适用于 Web 包 您可能会认为这不是一个很大的限制,因为在 Capacitor JS 中,我们几乎所有的 code 都是用 JS、CSS 和 HTML 编写的。 虽然这可能是真的,但我们仍然安装了 native 模块到我们的应用中。 如果一个模块改变了您的 Android 或 iOS 目录,您就无法使用 OTA 更新您的应用。 这是因为这些目录的内容用于编译 Native 二进制文件,而 OTA 无法更新。 即使是 Native 应用也无法更新这个部分。
但是您可以设置您的CI/CD来处理这一部分,我制作了一个教程来说明如何做到这一点 这里是IOS.
自动Capgo配置
是时候注册并获取您的API密钥来上传您的第一版了!首先 注册一个Capgo账户.
您已登录Capgo,您将有一个引导页面

按照引导页面上的步骤添加您的第一个应用
遵循CLI的指引
从命令行直接进入您的Capacitor应用的根目录,运行:
npx @capgo/cli@latest init
要在您的Capacitor应用中安装Capgo,CLI将指导您完成设置应用的Capgo的过程
如果您想手动完成,以下是步骤
手动配置Capgo
安装插件
您应该得到以下code添加到您的应用程序:
npm i @capgo/capacitor-updater && npx cap sync
将插件安装到您的Capacitor应用程序中。
然后将以下code添加到您的应用程序中,以通知本机插件 JS 包裹是健康的(如果您不这样做,本机插件将回滚到上一个版本):
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()
这将告诉本机插件安装成功。
然后执行 npm run build && npx cap copy 更新您的应用程序。
登录Capgo CLOUD
首先,使用您的帐户中的 all apikey 登录CLI:
npx @capgo/cli@latest login YOU_KEY
添加您的第一个应用
让我们从创建一个应用开始,使用 Capgo Cloud 和 CLI。
npx @capgo/cli@latest app add
该命令将使用 Capacitor 配置文件中定义的所有变量来创建应用。
上传您的第一个版本
运行命令以构建您的 code 并将其发送到 Capgo:
npx @capgo/cli@latest bundle upload
默认情况下,版本名称将是您的文件中的一个。 package.json 检查入
__CAPGO_KEEP_0__ Capgo 您甚至可以使用我的移动沙盒应用进行测试
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__.
让频道默认
您已经将应用程序发送到 Capgo,现在需要将频道设置为让应用程序从 Capgo 接收更新。 default to let apps receive updates from Capgo.
npx @capgo/cli@latest channel set production -s default
为了让您的应用程序从 Deploy 接收实时更新,您需要在设备或模拟器上运行应用程序。最简单的方法是使用以下命令在模拟器或连接到计算机的设备上启动本地应用程序。
打开应用程序,放到后台,然后再次打开它,您应该在日志中看到应用程序已经更新。
npx cap run [ios | android]
恭喜! 🎉 您已经成功部署了第一个实时更新。这只是实时更新的开始。要了解更多信息,请查看完整的
实时更新文档 如果您需要停止在本地接收更新,请运行此命令.
继续使用 __CAPGO_KEEP_1__-updater 更新您的 __CAPGO_KEEP_0__ 应用程序
npx @capgo/cli@latest channel set
Keep going from Update your Capacitor apps seamlessly using Capacitor-updater
继续使用 __CAPGO_KEEP_1__-updater 更新您的 __CAPGO_KEEP_0__ 应用程序 Update your Capacitor apps seamlessly using Capacitor-updater 为了计划迁移和企业运营,连接它与 Capgo 企业 为了产品工作流程在Capgo 企业中 Ionic 企业插件替代品 为了产品工作流程在Ionic 企业插件替代品中 Capgo 替代品 为了产品工作流程在Capgo 替代品中 Capgo 咨询 为了产品工作流程在Capgo 咨询中, Capgo 高级支持 为了产品工作流程在Capgo 高级支持中