更新您的__CAPGO_KEEP_0__应用程序以便无缝使用__CAPGO_KEEP_1__-updater
Tutorial

使用Capacitor-updater轻松更新您的Capacitor应用

Greetings Capacitor Ionic Community, today I'll be helping you setup Capacitor-updater into your app. So that you can do seamless releases.

Martin Donadieu

Martin Donadieu

内容营销人员

使用Capacitor-updater轻松更新您的Capacitor应用

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”侧载更新的灵活性,随时更新应用程序。

Moreover, it provides rollbacks if the new update crashes the app

How does it work?

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.

You can read more about it here.

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.

Semantic versioning follows the format MAJOR.MINOR.PATCH:

  • MAJOR: Breaking changes that require a native app store release
  • MINOR: 新功能,向后兼容
  • PATCH: bug 修复,向后兼容

例如,如果您的应用程序版本为 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 要将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 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

在设备上接收实时更新

为了让您的应用程序从 Deploy 接收实时更新,您需要在设备或模拟器上运行应用程序。最简单的方法是使用以下命令在模拟器或连接到计算机的设备上启动本地应用程序。

npx cap run [ios | android]

打开应用程序,放到后台,然后再次打开它,您应该在日志中看到应用程序已经更新。

恭喜! 🎉 您已经成功部署了第一个实时更新。这只是您可以使用实时更新的开始。要了解更多信息,请查看完整的 实时更新文档.

如果您需要停止在本地接收更新,请运行此命令 npx @capgo/cli@latest channel set

继续使用 Capacitor-updater 来无缝更新您的 Capacitor 应用程序

如果您正在使用 使用 Capacitor-updater 无缝更新您的 Capacitor 应用程序 为企业迁移和运营做好准备,连接它 Capgo 企业 在 Capgo 企业中, Ionic 企业插件替代品 在 Ionic 企业插件替代品中, Capgo 替代品 在 Capgo 替代品中, Capgo 咨询 在 Capgo 咨询中, Capgo 高级支持 在 Capgo 高级支持中,

使用 __CAPGO_KEEP_1__-updater 实现 Capacitor 应用的实时更新

当 web 层 bug 活跃时,通过 Capgo 发布修复,而不是等待几天的应用商店审批。用户在后台接收更新,而原生变化保持在正常审批路径中。

立即开始

最新博客文章

Capgo 为您提供创建真正专业的移动应用所需的最佳见解。