跳转到正文

从 AppFlow 迁移到 Capgo

🚦 Ionic 宣布 AppFlow 的商业产品(包括 Live Updates)将逐步停止服务。现有项目可继续运行至 2027 年 12 月 31 日,但不再接受新客户,也不再规划新功能。本指南会带你完成迁移到 Capgo 所需的操作,并介绍你将获得的原生自动化能力。

Capgo 会为你处理频道、bundle 保留、回滚、分析和 CLI 上传。迁移无非是安装插件、调用 CapacitorUpdater.notifyAppReady(),以及(如有需要)配置可选的手动控制。下面各节会逐一说明每项任务。

  • 记录您的 AppFlow App ID、现有 channel 以及签名密钥。
  • 导出您想要存档的所有 bundle 历史记录。
  • 如果您正在使用 GitHub Actions 或其他 CI 提供商,请保留这些 pipeline——它们在 Capgo 中仍可正常工作。
终端窗口
npm uninstall @capacitor/live-updates
npm install @capgo/capacitor-updater
npx cap sync

大功告成。Capgo 为 iOS 和 Android 同时打包了原生 code;无需额外的 JavaScript 辅助工具。

第 2 步 – 极简配置(无需手动填写字段)

标题为“第 2 步 – 极简配置(无需手动填写字段)”的部分

现有的配置块非常冗长。Capgo 会自动检测您的项目和 channel,因此极简配置如下:

capacitor.config.ts
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = {
plugins: {
CapacitorUpdater: {
autoUpdate: true,
autoDeletePrevious: true,
},
},
}
export default config
Ionic AppFlow 设置Capgo 对应项是否需要设置?
appId在 Capgo dashboard 中管理创建项目时自动提供
channel / defaultChanneldashboard 中的 Channel 规则 API可选覆盖;默认值来自服务器。详见 版本定向 以了解多版本策略
autoUpdateMethodautoUpdate: 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()

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()) 以在应用内提示或强制用户操作。
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 once
capgo bundle upload \
--path dist \
--channel production # automatically tags platform/version

如果你需要针对特定原生版本(类似 AppFlow 的原生版本锁定):

终端窗口
# Only deliver to devices on native version 2.0.0 or higher
# Channel must use metadata strategy: --disable-auto-update metadata
capgo bundle upload \
--path dist \
--channel production \
--min-update-version "2.0.0"
# Use channels for different major versions
capgo bundle upload --channel v2 # for app version 2.x
capgo bundle upload --channel v3 # for app version 3.x

请参阅 版本定向指南 了解全面策略。

Capgo 会自动执行:

  • 保留每次安装的设备级审计日志。
  • 在接近套餐上限时主动发送邮件提醒。
  • 提供突发额度(burst credits),确保发布过程中不会被卡住。
  • 发布全球 18 个地区的延迟指标,见 capgo.app/历史状态.

如果您的 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 和部署流程保持稳定运行。

Capgo 专为需要 Native delta updates、加密 bundle 及持续创新的企业级用户打造。迁移完成后,你可以移除 AppFlow 的 code 胶水层,完全依赖原生自动化流程,实现无缝持续交付。

如果你正在使用 从 AppFlow 迁移到 Capgo 要规划迁移和企业运营,请将其与 Capgo 企业版 用于 Capgo Enterprise 中的产品工作流, Ionic Enterprise 插件替代方案 用于 Ionic Enterprise 插件替代方案的产品工作流, Capgo 替代方案 用于 Capgo 替代方案的产品工作流, Capgo 咨询 适用于 Capgo Consulting 的产品工作流,以及 Capgo 高级支持 适用于 Capgo Premium Support 的产品工作流。