跳过主要内容
教程

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

致CapacitorIonic社区,今天我将帮助您将Capacitor-updater集成到您的应用中。这样您就可以进行无缝发布。

文章来源

马丁·多纳迪厄

作者

瓦莱里亚

审稿人

乔丹

编辑

Update your Capacitor apps seamlessly using Capacitor-updater

什么是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产品流程

为 Capacitor 应用提供实时更新

当 web-layer 的 bug 活跃时,通过 Capgo 发布修复,而不是等待几天的 app store 审核。用户在后台接收更新,而原生变化仍在正常的审查路径中。

来自马丁的人性化支持

立即开始

最新博客文章

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