什么是Capacitor-更新器?
Capacitor-更新器是一项技术,帮助将应用程序更新和改进直接传递给用户。
如果您想立即修复关键错误并在不经过App Store审查的情况下发布应用程序,这尤其棒。
您可以将其视为“类似于Web”的侧载更新的灵活性,随时更新应用程序。
此外,如果新更新导致应用程序崩溃,它还提供回滚功能。
它是如何工作的?
Capgo会将应用程序的JavaScript包与Capgo服务器保持同步,每当用户打开应用程序时,它都会检查Capgo服务器是否有新的更新可用。
我在所有项目中都使用 Capgo。这使我可以减少在 App Store 审核过程中的时间。
我在所有项目中都使用__CAPGO_KEEP_0__,这使我可以减少App Store审查的时间。 这里.
Understanding Semantic Versioning with Capgo
Capgo uses semantic versioning (semver) to determine when and how updates should be applied to your app. This ensures that your users only receive compatible updates and prevents breaking changes from being automatically deployed.
语义版本号遵循以下格式 MAJOR.MINOR.PATCH:
- 主版本号: 需要发布到原生应用商店的破坏性更改
- 次版本号: 后向兼容的新功能
- 修订版本号: 后向兼容的 bug 修复
例如,如果您的应用程序版本为 1.0.0 并且您希望更新到 1.0.1 (a patch), Capgo 将自动应用此更新。然而,如果您想从 1.0.0 到 2.0.0 (一个主要版本),这将需要一个本机应用商店发布,因为这表明了破坏性更改。
Capgo 的频道设置允许您配置哪些类型的更新将自动应用:
- 主要策略: 允许所有更新(谨慎使用)
- 次要策略: 只允许次要和补丁更新
- 补丁策略: 只允许补丁更新
- 元数据策略: 需要满足最低版本要求
您可以使用 Capgo 的更新逻辑测试不同版本 combination 的工作情况。 Semver Tester 工具. 这个工具可以帮助您了解基于您的频道配置时更新会被应用的具体情况。
是否有任何限制?
尽管听起来很棒,但我们需要考虑一些事情。 首先,OTA 更新 仅适用于 Web 包。您可能会认为这不是一个很大的限制,因为在 Capacitor JS 中,我们几乎所有的 code 都是用 JS、CSS 和 HTML 编写的。 然而,仍然有 native 模块需要安装到我们的应用中。 如果一个模块改变了您的 Android 或 iOS 目录,您就无法使用 OTA 更新您的应用。 这是因为这些目录的内容用于编译 Native 二进制文件,而 OTA 无法更新。 即使是 Native 应用也无法更新这一部分。
但是,您可以配置 CI/CD 来处理这一部分,我制作了一个关于如何做到的教程 IOS.
Auto 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 如果构建存在。
您甚至可以使用我的 移动沙盒应用.
设置默认频道
在您将应用程序发送到Capgo之后,您需要更新您的频道 default Capgo
npx @capgo/cli@latest channel set production -s default
接收设备上的Live Update
在设备上接收一个live update
npx cap run [ios | android]
打开应用,放到后台再打开它,你应该在日志中看到应用已经更新了。
恭喜! 🎉 您成功部署了第一个 Live Update。这只是您可以使用 Live Updates 的开始。要了解更多,请查看完整的 Live Updates 文档 .
如果您需要停止本地接收更新,请运行以下命令
npx @capgo/cli@latest channel set
继续使用 Update your Capacitor apps seamlessly using Capacitor-updater
如果您正在使用 Update your Capacitor apps seamlessly using Capacitor-updater 来规划迁移和企业运营,连接它到 Capgo 企业版 为企业产品工作流程中的Capgo Ionic 企业插件替代方案 ,用于 __CAPGO_KEEP_0__ Enterprise 的产品工作流程, Capgo 替代方案 为Capgo Alternatives产品流程 Capgo 咨询 为Capgo Consulting产品流程 Capgo 高级支持服务 为Capgo Premium Support产品流程