What is Capacitor-updater?
Capacitor-updater,一个帮助将应用程序更新和改进直接传递给用户的技术。
如果您想立即修复关键错误并在不经过 App Store 审核的情况下发布应用程序,那么这是非常棒的。
您可以将其视为“类似于 web” 的侧载更新的灵活性,尽快将更新推送给用户。
此外,如果新更新导致应用程序崩溃,它还提供回滚功能。
如何工作?
Capgo 会将应用程序的 JavaScript 包同步到 Capgo 服务器上,每当用户打开应用程序时,它都会检查 Capgo 服务器是否有新的更新可供应用程序包使用。当然,它还提供了大量的配置选项,帮助您精细调整用户体验。
我在所有项目中都使用 Capgo,这使我可以减少 App Store 审核过程的时间。
您可以阅读更多关于它的信息 在这里.
了解 Capgo 中的语义版本控制
Capgo 使用语义版本控制(semver)来确定何时和如何将更新应用于应用程序。这确保了您的用户只接收兼容的更新,并防止自动部署破坏性更改。
Semantic versioning follows the format MAJOR.MINOR.PATCH:
- MAJOR:重大变更,需要发布native app store版本MINOR:新功能,向后兼容
- PATCH:bug修复,向后兼容例如,如果您的app当前版本为
- 并且您想更新到(一个patch),__CAPGO_KEEP_0__会自动应用此更新。但是,如果您想从
更新到 1.0.0 (一个major版本),这将需要native app store发布,因为它表示重大变更。 1.0.1 Capgo 1.0.0 __CAPGO_KEEP_1__ 2.0.0 __CAPGO_KEEP_2__
Capgo的频道设置允许您配置哪些类型的更新将自动应用:
- 主要策略:允许所有更新(谨慎使用)
- 次要策略:允许次要和补丁更新
- 补丁策略:仅允许补丁更新
- 元数据策略:要求最低版本要求
您可以使用Capgo的更新逻辑测试不同版本 combination的工作情况的Semver Tester工具 。该工具帮助您了解基于您的频道配置何时将应用更新。. This tool helps you understand exactly when updates will be applied based on your channel configuration.
是否有任何限制?
听起来很好,但我们需要注意一些事情。 首先,需要考虑的是 OTA 更新 仅适用于 Web 包。 你可能会认为这不是一个很大的限制,因为在 Capacitor JS 中,我们几乎所有的 code 都是用 JS CSS 和 HTML 写的。 虽然这可能是真的,但我们仍然有 native 模块需要安装到我们的应用程序中。 如果一个模块改变了你的 Android 或 iOS 目录,你就不能使用 OTA 更新你的应用程序。 这是因为这些目录的内容用于编译 Native 二进制文件,OTA 无法更新。 即使是 native 应用程序也无法更新这个部分
但是你可以设置你的 CI/CD 来处理这个部分,我制作了一个关于如何做的教程 在这里 for IOS.
自动 Capgo 配置
是时候注册并获取你的 API 密钥来上传你的第一个版本了!首先 注册一个 Capgo 账户.
一旦你登录了 Capgo,你会有一个引导页面

按照引导页面上的步骤添加你的第一个应用程序。
按照 CLI 指引
从命令行直接进入你的 Capacitor 应用根目录,运行:
npx @capgo/cli@latest init
在安装 Capgo 到你的 Capacitor 应用中,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
首先使用 all apikey 在您的帐户中使用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发送应用后,需要将您的频道 default 设置为让应用接收Capgo的更新。
npx @capgo/cli@latest channel set production -s default
在设备上接收实时更新
为了让您的应用从Deploy接收实时更新,您需要在设备或模拟器上运行应用。使用以下命令启动本地应用在模拟器或连接到计算机的设备上是最简单的方法。
npx cap run [ios | android]
打开应用,放到后台并再次打开它,您应该在日志中看到应用已经更新。
恭喜! 🎉 您成功部署了第一个实时更新。这只是您可以使用实时更新的开始。要了解更多,请查看完整的 实时更新文档.
如果您需要停止在本地接收更新,请运行此命令
npx @capgo/cli@latest channel set
无缝更新您的Capacitor应用程序使用Capacitor-updater
如果您正在使用 无缝更新您的Capacitor应用程序使用Capacitor-updater 规划迁移和企业运营,连接它 Capgo企业 在Capgo企业中,产品工作流程 Ionic企业插件替代品 在Ionic企业插件替代品中,产品工作流程 Capgo替代品 在Capgo替代品中,产品工作流程 Capgo咨询 为Capgo产品工作流程 Capgo高级支持 为Capgo高级支持产品工作流程