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: 需要在原生应用商店中发布的破坏性更改
- MINOR: __CAPGO_KEEP_0__的新功能,保持向后兼容
- PATCH: __CAPGO_KEEP_0__的修复,保持向后兼容
例如,如果您的应用程序版本为 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 包。 您可能会认为这不是一个大问题,因为在 code 中,我们几乎所有的 Capacitor 都是用 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 包裹是健康的(如果您不这样做,native插件将回滚到上一个版本):
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 是否存在构建。
您甚至可以使用我的 移动沙盒应用进行测试.
设置默认频道
在您将应用程序发送到 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]
恭喜! 🎉 您已成功部署第一个实时更新。这只是您可以使用实时更新的开始。要了解更多信息,请查看完整的
实时更新文档 如果您需要停止在本地接收更新,请运行此命令.
由
npx @capgo/cli@latest channel set