跳过主要内容
教程

使用 Capacitor-updater 无缝更新您的 Capacitor 应用

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

文章来源

马丁·多纳迪厄

作者

瓦莱里亚

审阅者

乔丹

编辑

更新您的Capacitor应用程序无缝使用Capacitor更新器

什么是 Capacitor-updater?

Capacitor-updater 是一种技术,帮助将应用程序更新和改进直接传递给用户

如果您想立即修复关键错误并避免通过 App Store 进行审查,这将非常有用

您可以将其视为“像网页一样”快速加载更新的灵活性

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

如何工作?

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

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

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

了解语义版本控制的 Capgo

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

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

  • MAJOR: 需要原生应用商店发布的破坏性更改
  • MINOR: 后向兼容的新功能
  • PATCH修复了兼容性的bug

例如,如果您的应用程序版本号为 1.0.0 并且您想更新到 1.0.1 (一个补丁), Capgo 将自动应用此更新。然而,如果您想从 1.0.0 到 2.0.0 当版本号为 (一个主要版本) 时,这意味着存在破坏性更改,因此需要发布一个原生应用程序以在应用商店中更新。

Capgo的频道设置允许您配置哪些类型的更新将自动应用。

  • 核心战略允许所有更新(谨慎使用)
  • 轻微策略仅支持小版本和补丁更新
  • 更新策略: 只允许补丁更新
  • 元数据策略: 需要满足最低版本要求

您可以使用 Capgo 的更新逻辑测试不同版本 combination 的工作情况。 Semver Tester 工具测试不同版本 combination 的更新逻辑

. 这个工具帮助您了解基于您的频道配置时更新将何时应用

是否有任何限制? 虽然听起来很棒,但我们需要注意一些事情。 首先,OTA 更新. You may think that this isn’t really a big limitation because, in Capacitor JS, we write almost all code in JS CSS and HTML. While this may be true, there still are native modules that we install to our app. If a module changes your android or iOS directories, you can’t use OTA to update your app. That’s because these directories’ contents are used to compile Native binaries, which OTA can’t update. Even native app cannot update this part.

您可以设置 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应用程序中。

And then add to your app this code to notify the native plugin that the JS bundle is healthy (if you don’t do this, the native plugin will rollback to the previous version):

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_KEEP_0__:

让我们从创建一个应用程序开始,首先在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

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

npx cap run [ios | android]

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

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

如果您需要停止在本地接收更新,请运行此命令 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应用

为Capgo应用提供实时更新

最新博客

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