什么是Capacitor-更新器?
Capacitor-更新器是一项技术,帮助将应用程序更新和改进直接传递给用户。
这尤其适合于您希望立即修复关键错误并避免通过App Store进行审查。
您可以将其视为“web-like”侧载更新的灵活性,即使在更新可用时也可以立即应用。
此外,它还提供回滚功能,如果新更新崩溃了应用程序
它是如何工作的?
Capgo会将应用程序的JavaScript包与Capgo服务器保持同步,每当用户打开应用程序时,它都会检查Capgo服务器是否有新的更新可用到包中。当然,它还配备了大量的配置选项,可以帮助您精细调整用户的体验。
我在所有项目中都使用Capgo,这使我可以减少在App Store审查过程中的时间。
您可以阅读更多关于它的信息 在这里.
了解Capgo中的语义版本控制
Capgo使用语义版本控制(semver)来确定何时和如何应用更新到应用程序。这确保了您的用户只接收兼容的更新,并防止自动部署破坏性更改。
遵循语义化版本格式 MAJOR.MINOR.PATCH:
- 主要: 需要发布原生应用商店版本的重大变更
- 次要: 后向兼容的新功能
- 修订: 后向兼容的 bug 修复
例如,如果您的应用程序当前版本为 1.0.0 并且您想更新到 1.0.1 (修订版),Capgo 将自动应用此更新。然而,如果您想从 1.0.0 更新到 2.0.0 (主要版本),这将需要发布原生应用商店版本,因为这表明存在重大变更。
Capgo的频道设置允许您配置哪些类型的更新将自动应用:
- 重大策略: 允许所有更新(谨慎使用)
- 次要策略: 只允许次要和补丁更新
- 补丁策略: 只允许补丁更新
- 元数据策略: 需要满足最低版本要求
您可以使用Capgo的更新逻辑测试不同版本 combination 的效果的 Semver Tester 工具 。这个工具可以帮助您了解基于您的频道配置,更新何时将被应用。重大策略
是否有任何限制?
听起来似乎很不错,但我们需要考虑一些事情。 首先,OTA更新 仅适用于Web包。你可能会认为这不是一个大问题,因为在Capacitor中,我们几乎所有的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
首先使用 all apikey present in your account to log in with the CLI:
npx @capgo/cli@latest login YOU_KEY
添加您的第一个应用
Let’s get started by first creating an app in Capgo Cloud with the CLI.
npx @capgo/cli@latest app add
This command will use all variables defined in the Capacitor config file to create the app.
上传您的第一个版本
运行命令以构建您的code并将其发送到Capgo
npx @capgo/cli@latest bundle upload
默认情况下,版本名称将是您的 package.json 文件中的
检查入 Capgo 如果构建存在。
您甚至可以使用我的 移动沙盒应用.
设置默认频道
您已经将应用程序发送到Capgo,需要将频道设置为 default 让应用程序从Capgo接收更新。
npx @capgo/cli@latest channel set production -s default
在设备上接收实时更新
为了让您的应用程序从部署接收实时更新,您需要在设备或模拟器上运行应用程序。最简单的方法是使用以下命令在模拟器或连接到计算机的设备上启动本地应用。
npx cap run [ios | android]
打开应用程序,放到后台,然后再次打开它,您应该在日志中看到应用程序已经更新。
恭喜! 🎉 您已经成功部署了第一个实时更新。这只是您可以使用实时更新的开始。要了解更多信息,请查看完整的 实时更新文档.
If you need to stop receiving local updates, run this command
npx @capgo/cli@latest channel set
Continue to update your Capacitor apps seamlessly using Capacitor-updater
If you are using Update your Capacitor apps seamlessly using Capacitor-updater To plan migration and enterprise operations, connect it with Capgo Enterprise For the product workflow in Capgo Enterprise Ionic Enterprise Plugin Alternatives For the product workflow in Ionic Enterprise Plugin Alternatives Capgo Alternatives For the product workflow in Capgo Alternatives Capgo Consulting 为Capgo产品工作流程 Capgo高级支持 为Capgo高级支持产品工作流程