更新您的__CAPGO_KEEP_0__应用程序无缝使用__CAPGO_KEEP_1__-更新器
Tutorial

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

致Capacitor Ionic 社区,今天我将帮助您将Capacitor-更新器集成到您的应用中。这样您就可以实现无缝发布。

Martin Donadieu

Martin Donadieu

内容营销人员

使用Capacitor-更新器轻松更新您的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 审核的场景。

您可以将其视为“像网页一样”灵活的侧载更新,随时可用。

此外,如果新更新导致应用程序崩溃,它还提供回滚功能

它是如何工作的?

Capgo 保持应用程序的 JavaScript 包在同步状态与 Capgo 服务器,并且每次用户打开应用程序,它都会检查 Capgo 服务器是否有新的更新可供包。当然,它还带来了大量的酷酷配置,可以帮助您微调用户体验。

我在所有我构建的项目中都使用 Capgo。这使得我可以减少 App Store 审核过程中的时间。

您可以阅读更多关于它的信息 这里.

了解 Capgo 中的语义版本控制

Capgo 使用语义版本控制(semver)来确定何时和如何将更新应用到应用程序。这确保了您的用户只接收兼容的更新,并防止自动部署破坏性更改。

语义版本控制遵循以下格式 MAJOR.MINOR.PATCH:

  • MAJOR: 需要在原生应用商店中发布的破坏性更改
  • MINOR: __CAPGO_KEEP_0__的新功能,保持向后兼容
  • PATCH: __CAPGO_KEEP_0__的修复,保持向后兼容

例如,如果您的应用程序版本为 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 要在您的Capacitor应用中安装Capgo,CLI将指导您完成设置您的应用的Capgo的过程

如果您想手动完成,以下是步骤

手动配置Capgo

安装插件

您应该在应用程序中添加此code:

npm i @capgo/capacitor-updater && npx cap sync 将插件安装到您的Capacitor应用程序中。

然后将此code添加到您的应用程序中,以通知本机插件 JS 包裹是健康的(如果您不这样做,native插件将回滚到上一个版本):

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 后,您需要将您的频道设置为让应用程序接收来自 Capgo 的更新。 default to let apps receive updates from Capgo.

npx @capgo/cli@latest channel set production -s default

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

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

npx cap run [ios | android]

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

实时更新文档 如果您需要停止在本地接收更新,请运行此命令.

npx @capgo/cli@latest channel set

Capacitor 应用的实时更新

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

立即开始

博客最新文章

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