从 AppFlow 迁移到 Capgo
复制包含安装步骤和该插件完整 Markdown 指南的配置 prompt。
🚦 Ionic 宣布 AppFlow 的商业产品(包括 Live Updates)将逐步停止服务。现有项目可继续运行至 2027 年 12 月 31 日,但不再接受新客户,也不再规划新功能。本指南会带你完成迁移到 Capgo 所需的操作,并介绍你将获得的原生自动化能力。
迁移概览
章节标题:“迁移概述”Capgo 会为你处理频道、bundle 保留、回滚、分析和 CLI 上传。迁移无非是安装插件、调用 CapacitorUpdater.notifyAppReady(),以及(如有需要)配置可选的手动控制。下面各节会逐一说明每项任务。
第 0 步 – 记录当前的 AppFlow 配置
标题为“第 0 步 – 记录当前的 AppFlow 配置”的章节- 记录您的 AppFlow App ID、现有 channel 以及签名密钥。
- 导出您想要存档的所有 bundle 历史记录。
- 如果您正在使用 GitHub Actions 或其他 CI 提供商,请保留这些 pipeline——它们在 Capgo 中仍可正常工作。
第 1 步 – 用 Capgo 替换 AppFlow 的 SDK
标题为“第 1 步 – 用 Capgo 替换 AppFlow 的 SDK”的章节npm uninstall @capacitor/live-updatesnpm install @capgo/capacitor-updaternpx cap sync大功告成。Capgo 为 iOS 和 Android 同时打包了原生 code;无需额外的 JavaScript 辅助工具。
第 2 步 – 极简配置(无需手动填写字段)
标题为“第 2 步 – 极简配置(无需手动填写字段)”的部分现有的配置块非常冗长。Capgo 会自动检测您的项目和 channel,因此极简配置如下:
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, }, },}
export default config配置快速参考
标题为“配置快速参考”的部分| Ionic AppFlow 设置 | Capgo 对应项 | 是否需要设置? |
|---|---|---|
appId | 在 Capgo dashboard 中管理 | 创建项目时自动提供 |
channel / defaultChannel | dashboard 中的 Channel 规则 API | 可选覆盖;默认值来自服务器。详见 版本定向 以了解多版本策略 |
autoUpdateMethod | autoUpdate: true | 默认启用 |
maxVersions | 保留策略 | 集中配置(默认 1 个月,最长 24 个月) |
enabled | 非必填 | Capgo 可按 Channel 切换可用性 |
步骤 3 – 调用 notifyAppReady() (唯一必需的 hook)
标题为“步骤 3 – 调用 notifyAppReady()(唯一必需的 hook)”的章节在 Ionic 的指南中,你需要手动配置 sync, download,以及 reload,然后手动隐藏 splash screen。Capgo 会原生执行这些操作。你只需确认应用已准备就绪:
import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()如果始终未收到确认,Capgo 会自动回滚 bundle。
就这么简单——Capgo 会为你处理后台检查、splash screen 显示以及回滚逻辑。
可选:在 splash screen 隐藏前执行逻辑
import { CapacitorUpdater } from '@capgo/capacitor-updater'import { SplashScreen } from '@capacitor/splash-screen'
CapacitorUpdater.addListener('appReady', () => { // Log diagnostics or run custom code if needed SplashScreen.hide()})
CapacitorUpdater.notifyAppReady()第 4 步 – 更新策略已翻译
标题为“第 4 步 – 更新策略已翻译”的部分AppFlow 文档中介绍了三种策略。以下是它们与 Capgo 的对应关系:
背景 (默认)
标题为“背景 (默认)”的部分- AppFlow:手动配置
autoUpdateMethod = background,调用sync()。 - Capgo:默认启用。无需 JavaScript。
始终保持最新
标题为“始终保持最新”的部分- AppFlow:添加一个
App.addListener('resume')负责下载并重新加载的 handler。 - Capgo: 自动更新在 resume 时已运行。仅当您需要自定义时间窗口时才添加该 handler。
可选:手动 resume 检查
import { App } from '@capacitor/app'import { CapacitorUpdater } from '@capgo/capacitor-updater'
App.addListener('resume', async () => { const bundle = await CapacitorUpdater.download() if (bundle) { await CapacitorUpdater.set({ id: bundle.id }) }})强制更新
标题为“强制更新”的章节- AppFlow: 提示用户并调用
reload(). - Capgo:在 dashboard 中将 bundle 标记为“mandatory”,然后监听
majorAvailable事件(在...之后触发)notifyAppReady()) 以在应用内提示或强制用户操作。
第 5 步 – 映射 API 调用
标题为“第 5 步 – 映射 API 调用”的章节| AppFlow 方法 | Capgo 等效方案 | 您是否需要它? |
|---|---|---|
LiveUpdates.sync() | 自动处理 | Capgo 的原生自动更新无需手动调用同步 |
LiveUpdates.download() | CapacitorUpdater.download() | 自定义流程可选 |
LiveUpdates.reload() | CapacitorUpdater.set() | 可选;可通过 dashboard 开关控制强制更新 |
LiveUpdates.getVersion() | CapacitorUpdater.current() | 可选诊断信息 |
第 6 步 – 使用 Capgo CLI 或 API 进行部署
章节标题:“第 6 步 – 使用 Capgo CLI 或 API 部署”完成迁移的最后一步,是用 Capgo CLI 或 API 上传 bundle。工作流与你之前可能写过的脚本类似,但现在加入了原生安全保障:
capgo login # authenticate oncecapgo bundle upload \ --path dist \ --channel production # automatically tags platform/version按版本部署(类似 AppFlow)
章节标题:“按版本部署(类似 AppFlow)”如果你需要针对特定原生版本(类似 AppFlow 的原生版本锁定):
# Only deliver to devices on native version 2.0.0 or higher# Channel must use metadata strategy: --disable-auto-update metadatacapgo bundle upload \ --path dist \ --channel production \ --min-update-version "2.0.0"
# Use channels for different major versionscapgo bundle upload --channel v2 # for app version 2.xcapgo bundle upload --channel v3 # for app version 3.x请参阅 版本定向指南 了解全面策略。
Capgo 会自动执行:
- 保留每次安装的设备级审计日志。
- 在接近套餐上限时主动发送邮件提醒。
- 提供突发额度(burst credits),确保发布过程中不会被卡住。
- 发布全球 18 个地区的延迟指标,见 capgo.app/历史状态.
Ionic 企业级插件
标题为“Ionic 企业级插件”的章节如果您的 Ionic 技术栈也用了企业级插件,请参考下方的针对性迁移文档。每份指南都会推荐用 Capgo 替代,并给出后续步骤。
常见问题
“常见问题”章节为什么 AppFlow 要停止 Live Updates?
“为什么 AppFlow 要停止 Live Update 服务?”章节Ionic 正在停止 AppFlow 等商业产品,转而专注于其开源 framework。现有客户可以继续使用 Live Update 直至 2027 年 12 月 31 日,但不再接受新功能或新客户。Capgo 通过专业的 Native OTA 平台填补了这一空白。
迁移需要多长时间?
“迁移需要多长时间?”章节大多数团队可以在一天内完成迁移。Channels、Deployments 和 Release rules 等概念可以完全对应,我们的团队还提供文档和实操支持。在多数情况下,你只需安装插件,调用 notifyAppReady(),然后上传你的第一个 bundle。
我们能节省成本吗?
标题:“我们会省钱吗?”是的。AppFlow Live Update 起步价为 $499/月。Capgo 起步价仅为 $14/月 并采用按需付费模式,单价可降至约 $0.001 / MAU。此外,您还能获得加密、自动回滚和全球延迟监控功能。
我们应该什么时候迁移?
标题:“我们应该何时迁移?”由于 AppFlow 目前已进入维护模式,尽早迁移可以让你享受到 Capgo 的持续创新。我们建议在符合您发布计划的时间点进行切换。我们的工程团队将协助您规划迁移过程,确保您的 CI/CD 和部署流程保持稳定运行。
更多资源
标题为“更多资源”的章节- 版本定向指南 - 深入了解 AppFlow 式的版本匹配策略
- 破坏性变更 - 通过 Channel 管理大版本更新
- Channel 管理 - 完整的 Channel 配置参考
需要帮助?
标题为“需要帮助?”的章节- 预约迁移咨询: 预订 capgo.app/demo
- 加入社区: Capgo Discord
- 反馈问题 / 需求申请: github.com/Cap-go/capacitor-updater
Capgo 专为需要 Native delta updates、加密 bundle 及持续创新的企业级用户打造。迁移完成后,你可以移除 AppFlow 的 code 胶水层,完全依赖原生自动化流程,实现无缝持续交付。
继续阅读:从 AppFlow 迁移到 Capgo
标题为“从 AppFlow 迁移至 Capgo 后,继续探索”的章节如果你正在使用 从 AppFlow 迁移到 Capgo 要规划迁移和企业运营,请将其与 Capgo 企业版 用于 Capgo Enterprise 中的产品工作流, Ionic Enterprise 插件替代方案 用于 Ionic Enterprise 插件替代方案的产品工作流, Capgo 替代方案 用于 Capgo 替代方案的产品工作流, Capgo 咨询 适用于 Capgo Consulting 的产品工作流,以及 Capgo 高级支持 适用于 Capgo Premium Support 的产品工作流。