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进行审查。
您可以将其视为“web-like”侧载更新的灵活性,即使在更新可用时也可以立即使用。
此外,它还提供回滚功能,如果新更新崩溃了应用程序
它是如何工作的?
Capgo keeps your app’s JavaScript bundle in sync with the Capgo server, and every time the user opens the app, it checks with the Capgo server if a new update is available to the bundle. And of course, it comes with tons of awesome configurations which can help you fine-tune your user’s experience.
I use Capgo in all my projects I build. That allows me to put less time in the App Store review process.
您可以阅读更多关于它的信息 在这里.
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 (修订版本),Capgo 将自动应用此更新。然而,如果您希望从 1.0.0 更新到 2.0.0 (主要版本),这将需要发布原生应用商店版本,因为这表明存在重大变更。
Capgo的频道设置允许您配置哪些类型的更新将自动应用:
- 主要策略: 允许所有更新(谨慎使用)
- 次要策略: 只允许次要和补丁更新
- 补丁策略: 只允许补丁更新
- 元数据策略: 需要满足最低版本要求
您可以使用Capgo的更新逻辑测试不同版本 combination 的效果的 Semver Tester 工具 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
该命令将使用Capacitor配置文件中定义的所有变量来创建应用。
上传您的第一个版本
运行命令以构建您的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 __CAPGO_KEEP_0__ Update your Capacitor apps seamlessly using Capacitor-updater To plan migration and enterprise operations, connect it with __CAPGO_KEEP_0__ Enterprise 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高级支持服务流程中的产品工作流程