从 Capawesome Cloud 迁移到 Capgo
复制一个包含安装步骤和本插件的完整 Markdown 指南的配置提示。
⚡️ Capgo 自动化频道、捆绑清理、回滚、分析和 CLI 原生上传。使用此指南执行迁移所需的最少步骤,并可选地重建任何您仍需要的自定义行为。
- 收集您的现有 Capawesome 云配置(App ID、频道、签名密钥、 CLI 令牌)以便以后存档或审计。
- 安装 Capgo 插件,移除 Capawesome SDK,并调用
CapacitorUpdater.notifyAppReady(). - 如果您依赖这些流程,请配置可选行为(手动下载、捆绑固定、重新加载)。
使用 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 SDKnpm uninstall @capawesome/capacitor-live-updatenpm install @capgo/capacitor-updaternpx cap sync这是唯一必须交换的内容。 Capgo 的本机 code 附带了插件;不需要额外的 JavaScript 助手。
步骤 2 – 最小配置
步骤 2 – 最小配置之前的设置需要映射数十个选项 capacitor.config. Capgo 自动识别您的项目,因此最小的配置如下:
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 configCapawesome 列出的所有手动标志(defaultChannel, autoDeleteBundles,保留策略等)都通过 Capgo 控制台或 API 管理。您只需要覆盖这些键,如果您想与 Capgo 的默认值不同。
配置快速参考
Capawesome 选项| __CAPGO_KEEP_0__ 等价项 | Capgo equivalent | 从 __CAPGO_KEEP_0__ 控制台创建项目后取出的 |
|---|---|---|
appId | Taken from the Capgo dashboard once you create a project | 配置快速参考 |
defaultChannel | 控制台管理的频道规则/API | 可选;大多数团队在服务器端设置 |
autoDeleteBundles | autoDeletePrevious: 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 Cloud | Capgo 等效项 | 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
手动控制示例
手动控制示例下载最新捆绑包
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) }}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') }}设置下一个捆绑包
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const setNextBundle = async () => { await CapacitorUpdater.next({ id: 'bundle-id-123' })}import { LiveUpdate } from '@capawesome/capacitor-live-update'
const setNextBundle = async () => { await LiveUpdate.setNextBundle({ bundleId: 'bundle-id-123' })}立即应用下载的捆绑包
import { CapacitorUpdater } from '@capgo/capacitor-updater'
const applyUpdate = async () => { await CapacitorUpdater.reload()}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.resumelistener, calldownload, thenset. - 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 }) } }})Force update
Section titled “Force update”- 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 productionBecause 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 支持
标题:Capgo 支持- 迁移顾问: 预约一个会话在 book.capgo.app/demo.
- 社区: 加入 Capgo Discord.
- 问题跟踪器: github.com/Cap-go/capacitor-updater/issues.
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集成的实现细节