跳转到正文

从 V2 升级到 V3

本文档将说明如何升级到 auto-update 版本 3。

终端窗口
npm remove -g capgo
npm remove capacitor-updater
npm i @capgo/cli
npm i @capgo/capacitor-updater@3
npx cap sync
{
CapacitorUpdater: {
autoUpdateURL: "https...",
...
},
}

仅保留以下内容:

{
"CapacitorUpdater": {
"autoUpdate": true
}
}

⚠️ 如果你之前使用的是自己的服务器, autoUpdateURL,我会尽快为你更新本指南。同时,请查看新的上传选项 external 该选项允许你只发送 zip 的链接,而无需将 code 上传到 Capgo 云端。这是专为隐私政策严格的公司打造的。在外部模式下,code 永远不会落到 Capgo 服务器上,我们只存储 URL 并将其发送给设备,由设备直接下载。在标准方式下,code 会被压缩并存储在我们的服务器上,但我们同样绝不会打开或使用它。

所有自动更新配置都已移至服务端,让你能更灵活地控制如何向用户发送更新。

这让我们能够回滚,甚至通过 channels 只向一个用户部署!这些设置已重新加回 Web 界面:

  • 在 native 下禁用 revert
  • 禁用大版本以上的更新

⚠️ 所有 Channel 的默认值都将变为 true

这也会让你不必频繁更新插件,大多数更新将在服务端完成,你无需做任何改动即可获得。

⚠️ 当某个更新成为默认版本时,此设置会重置。如果你希望在从应用商店更新时保留所有下载版本,请这样做:

{
"CapacitorUpdater": {
"autoUpdate": true,
"resetWhenUpdate": false
}
}

最后,将 JS 中所有的 import 更新为:

import { CapacitorUpdater } from 'capacitor-updater'

改为

import { CapacitorUpdater } from '@capgo/capacitor-updater'

然后重新构建你的 code npm run build 并再次复制 assets npx cap copy.

现在你应该可以测试最新的自动更新系统了

使用以下方式发送你的版本:

npx @capgo/cli@latest bundle upload

而不是

npx capgo upload

目前只使用第一个 public channel;未来如果设置了多个 channel,public 将改为多 public channel 模式。

  • 升级后出现 Build 问题:如果你已经在 Android Studio 或 Xcode 中打开了插件的 code 源码,有时同步操作无法将其移除,这正是问题所在。请打开原生 IDE 并手动移除 capacitor-updater 手动移除并执行 npx cap sync 这样应该就能解决。

继续阅读:从 V2 升级到 V3

标题为“继续阅读:从 V2 升级到 V3”

如果你正在使用 从 V2 升级到 V3 要规划 live update 的交付,请将其与 Capgo Live Updates 用于 Capgo Live Updates 中的产品工作流, 概览 用于 Overview 中的实现细节, 功能 用于 Features 中的实现细节, 更新行为 有关 Update Behavior 中的实现细节,请参阅 更新类型 关于 Update Types 中的实现细节。