跳过内容

从 Capawesome Cloud 迁移到 Capgo

⚡️ Capgo 自动化频道、捆绑清理、回滚、分析和 CLI 原生上传。使用此指南执行迁移所需的最少步骤,并可选地重建任何您仍需要的自定义行为。

  1. 收集您的现有 Capawesome 云配置(App ID、频道、签名密钥、 CLI 令牌)以便以后存档或审计。
  2. 安装 Capgo 插件,移除 Capawesome SDK,并调用 CapacitorUpdater.notifyAppReady().
  3. 如果您依赖这些流程,请配置可选行为(手动下载、捆绑固定、重新加载)。

使用 Capgo 只需安装我们的插件并调用 CapacitorUpdater.notifyAppReady()Everything else—channels、捆绑清理、回滚、分析和 CLI 自动化—is handled natively。以下部分逐步介绍每个任务。

开始之前

开始之前
  • 确保您的项目已经使用 Capacitor 5 或更高版本。
  • 如果您计划从 CI/CD 推送捆绑包,请安装 Capgo 的 CLI (npm install -g @capgo/cli)。

步骤 1 – 安装 Capgo 并删除 Capawesome SDK

步骤 1 – 安装 Capgo 并删除 Capawesome SDK
终端窗口
npm uninstall @capawesome/capacitor-live-update
npm install @capgo/capacitor-updater
npx cap sync

这是唯一必须交换的内容。 Capgo 的本机 code 附带了插件;不需要额外的 JavaScript 助手。

步骤 2 – 最小配置

步骤 2 – 最小配置

之前的设置需要映射数十个选项 capacitor.config. Capgo 自动识别您的项目,因此最小的配置如下:

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
autoDeletePrevious: true,
periodCheckDelay: 10 * 60 * 1000, // optional: check every 10 minutes
},
},
}
export default config

Capawesome 列出的所有手动标志(defaultChannel, autoDeleteBundles,保留策略等)都通过 Capgo 控制台或 API 管理。您只需要覆盖这些键,如果您想与 Capgo 的默认值不同。

配置快速参考

Capawesome 选项
__CAPGO_KEEP_0__ 等价项Capgo equivalent从 __CAPGO_KEEP_0__ 控制台创建项目后取出的
appIdTaken from the Capgo dashboard once you create a project配置快速参考
defaultChannel控制台管理的频道规则/API可选;大多数团队在服务器端设置
autoDeleteBundlesautoDeletePrevious: true (默认)已启用
publicKey在Capgo控制台中管理仅当您手动旋转密钥时
maxVersions /保留包裹保留策略在Capgo中集中配置(默认1个月,最大24个月)

步骤3 – 调用 notifyAppReady() (唯一必需的钩子)

标题为“步骤3 – 调用notifyAppReady()(唯一必需的钩子)”

旧的工作流程引入了自定义监听器(checkForUpdates(), retryDownload(), 隐藏启动屏幕等)。Capgo 原生地执行这些步骤。您必须调用的唯一API是:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

这确认应用程序成功启动。如果确认信息永远不会到达,Capgo 将自动回滚捆绑包——不需要额外的 JavaScript。

这就是全部了,Capgo 原生地处理后台检查、启动屏幕可见性和回滚。

可选:在启动屏幕隐藏之前运行自定义逻辑
import { CapacitorUpdater } from '@capgo/capacitor-updater'
import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => {
// Run diagnostics or logging if you need to
SplashScreen.hide()
})
CapacitorUpdater.notifyAppReady()

步骤 4 – 映射API 调用(大多数可选)

标题:步骤 4 – 映射API 调用(大多数可选)

在Capgo 中,您通常让自动更新器运行;手动 API 仍然可用,如果您想拥有完全的控制权。

Capawesome CloudCapgo 等效项Do you need it?
LiveUpdate.fetchLatestBundle()CapacitorUpdater.getLatest()只有在实现自定义下载流程时才需要
LiveUpdate.downloadBundle()CapacitorUpdater.download()Optional: native auto-update已经自动下载
LiveUpdate.setNextBundle()CapacitorUpdater.next()Optional: 仪表盘自动将捆绑包固定
LiveUpdate.reload()CapacitorUpdater.reload()Optional; Capgo强制捆绑包 notifyAppReady()
LiveUpdate.getCurrentBundle()CapacitorUpdater.current()Optional diagnostics

如果您坚持使用native auto-update行为,您可以删除Capawesome JavaScript

手动控制示例

手动控制示例

下载最新捆绑包

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const downloadUpdate = async () => {
const latest = await CapacitorUpdater.getLatest()
if (latest?.url) {
const bundle = await CapacitorUpdater.download({
url: latest.url,
version: latest.version,
})
console.log('Bundle downloaded', bundle?.id)
}
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const downloadUpdate = async () => {
const result = await LiveUpdate.fetchLatestBundle()
if (result.downloadUrl) {
await LiveUpdate.downloadBundle({
bundleId: result.bundleId,
url: result.downloadUrl,
})
console.log('Bundle downloaded')
}
}

设置下一个捆绑包

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => {
await CapacitorUpdater.next({ id: 'bundle-id-123' })
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => {
await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })
}

立即应用下载的捆绑包

Capgo
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => {
await CapacitorUpdater.reload()
}
Capawesome Cloud
import { LiveUpdate } from '@capawesome/capacitor-live-update'
const applyUpdate = async () => {
await LiveUpdate.reload()
}

第五步 – 更新策略:Capgo如何处理它们

第五步 – 更新策略:Capgo如何处理它们

Capawesome 文档了三种策略。以下是它们的对应关系:

背景更新

背景更新
  • 之前的工作流程:在code中配置并手动下载排程。
  • Capgo:默认开启(())。无需额外的__CAPGO_KEEP_0__配置。autoUpdate: true). No additional code required.

始终最新

始终最新
  • Previous workflow: add an App.resume listener, call download, then set.
  • Capgo: background auto-update already performs the check after resume. You only need the manual listener if you want a custom interval.
Optional: manual resume check
import { App } from '@capacitor/app'
import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => {
const latest = await CapacitorUpdater.getLatest()
if (latest?.url) {
const downloaded = await CapacitorUpdater.download({
url: latest.url,
version: latest.version,
})
if (downloaded) {
await CapacitorUpdater.next({ id: downloaded.id })
}
}
})
  • Previous workflow: wire prompt logic and enforce reload.
  • Capgo: 在仪表板中标记捆绑包为“强制”然后监听事件(在 majorAvailable )后发射,要求用户在应用程序内升级。 notifyAppReady()第 6 步 – 部署捆绑包

标题:第 6 步 – 部署捆绑包

如果您以前依赖

, __CAPGO_KEEP_0__ 提供了类似的 __CAPGO_KEEP_1__ 工作流程,您还可以完全通过 __CAPGO_KEEP_2__ 自动化部署。 capawesome live-update deploy, Capgo offers a similar CLI workflow, and you can also automate deployments entirely via API.

复制到剪贴板
# Authenticate once (stores a token in your CI environment)
capgo login
# Upload a new bundle (auto-detects platform/version)
capgo bundle upload --path dist --channel production

Because Capgo tracks bundle health automatically, you also get:

  • __CAPGO_KEEP_1__
  • 自动保留 (默认 1 个月) 可以配置到 24 个月
  • 实时延迟指标在 status.capgo.app/history.
  • 库存 & 安装: 10 分钟 (npm install移除旧插件)
  • 配置 & 准备: 5 分钟 (notifyAppReady).
  • Sanity checks检查和准备工作:15 分钟 (可选手动测试或监听器)
  • 首次部署: 10 分钟与 Capgo CLI 或 CI 集成。

在实践中,团队通常在一个小时内完成。如果您提供 Capawesome 项目详细信息,我们甚至可以为您导入通道和设备列表。

Capgo 是为长期可靠性而设计的:原生delta更新、加密的捆绑包、自动回滚和不需要自定义JavaScript的分析。迁移后,您可以删除维护密集的胶水,让平台自动运行更新。

从Capawesome Cloud迁移到Capgo

标题:从Capawesome Cloud迁移到Capgo

如果您正在使用 从Capawesome Cloud迁移到Capgo 来规划CI/CD自动化,连接它与 Capgo CI/CD 在Capgo CI/CD中, Capgo Native Builds 在Capgo Native Builds中, Capgo Integrations 为产品工作流程在Capgo Integrations中 CI/CD集成 为CI/CD集成的实现细节 GitHub Actions集成 为GitHub Actions集成的实现细节