跳过内容

从 AppFlow 迁移到 Capgo

🚦 ionic 宣布 AppFlow 的商业产品,包括实时更新,正在停止。现有项目可以运行到 31 December 2027,但不再接受新客户,并且没有计划新功能。这份指南将指导您完成迁移到 Capgo 的步骤,并突出了您获得的本机自动化。

Capgo 会为您处理频道、捆绑保留、回滚、分析和 CLI 上传。迁移简化为安装插件、调用 CapacitorUpdater.notifyAppReady(),并(如果需要)配置可选的手动控制。以下各节将逐步指导您完成每个任务。

步骤 0 —— 记录当前 AppFlow 设置

步骤 0 —— 记录当前 AppFlow 设置
  • 注意 AppFlow App ID现有渠道和签名密钥。
  • 导出您要存档的任何捆绑包历史。
  • 如果您正在使用 GitHub Actions 或其他 CI 提供商,请保留这些管道——它们将与 Capgo 一起正常工作。

步骤 1 —— 将 AppFlow SDK 替换为 Capgo

步骤 1 —— 将 AppFlow SDK 替换为 Capgo
终端窗口
npm uninstall @capacitor/live-updates
npm install @capgo/capacitor-updater
npx cap sync

已经完成。Capgo 将 iOS 和 Android 的本机 code 打包在一起;不需要额外的 JavaScript 助手。

步骤 2 — 最小配置(无手动字段)

标题:步骤 2 — 最小配置(无手动字段)

现有的配置块很全面。Capgo 可以自动检测您的项目和频道,因此最小配置是:

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 控制台中管理
channel / defaultChannelChannel rules in the dashboard/API控制台中的渠道规则/__CAPGO_KEEP_0__ 多版本策略的版本目标
autoUpdateMethodautoUpdate: true默认开启
maxVersions保留策略集中配置(默认1个月,最大24个月)
enabled不需要Capgo 每个渠道切换可用性

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

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

在 Ionic 的指南中您会 sync, download reload, then hide the splash screen manually. Capgo performs those actions natively. You only need to confirm the app is ready:

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

If the confirmation never arrives, Capgo rolls the bundle back automatically.

如果确认信息从未到达,Capgo 会自动回滚捆绑包。

这样就完成了—__CAPGO_KEEP_0__ 会为您处理后台检查、启动屏幕可见性和回滚。
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') 下载并重新加载的处理器。
  • Capgo: 在恢复时自动更新。 如果您想设置自定义时间窗口,请添加处理器。
Optional: 手动恢复检查
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: 在仪表板上标记“强制”包,然后监听 majorAvailable 事件(在事件发生后发出) notifyAppReady()让用户在应用程序内触发或强制用户进行提示。

第 5 步:映射 API 调用

步骤 5:映射 API 调用
AppFlow 方法Capgo 的等效项您需要它吗?
LiveUpdates.sync()自动更新已处理Capgo 的原生自动更新不需要手动同步调用
LiveUpdates.download()CapacitorUpdater.download()自定义流程可选
LiveUpdates.reload()CapacitorUpdater.set()自定义流程可选;仪表盘开关处理强制更新
LiveUpdates.getVersion()CapacitorUpdater.current()可选诊断

第 6 步:使用 Capgo CLI 或 API 部署

第 6 步 – 使用 Capgo CLI 或 API 部署

通过上传 Capgo CLI 或 API 来完成迁移。工作流程与您之前编写的脚本类似,但现在包含了原生安全措施:

终端窗口
capgo login # authenticate once
capgo bundle upload \
--path dist \
--channel production # automatically tags platform/version

终端窗口

复制到剪贴板
# Only deliver to devices on native version 2.0.0 or higher
capgo bundle upload \
--path dist \
--channel production \
--native-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

版本目标指南 了解全面策略。 版本特定部署(如 AppFlow)

Capgo 自动化:

  • __CAPGO_KEEP_0__ 为每次安装都记录设备级别的审计日志。
  • 当您接近计划限制时,__CAPGO_KEEP_0__ 会发送主动邮件。
  • __CAPGO_KEEP_0__ 提供了短期的额外信用,确保您在发布过程中不会被阻塞。
  • 在 18 个全球区域发布延迟指标。 status.capgo.app/history.

If your Ionic stack also uses enterprise plugins, follow the targeted migration docs below. Each guide recommends the Capgo replacement and the next steps.

常见问题

常见问题

为什么 AppFlow 停止实时更新?

为什么 AppFlow 停止实时更新?

Ionic 停止开发商用产品,包括 AppFlow,专注于开源框架。现有客户可以继续使用实时更新,直到 2027 年 12 月 31 日,但不接受新功能或客户。Capgo 填补了这一空白,提供了一个专门的本地 OTA 平台。

迁移需要多长时间?

迁移需要多长时间?

大多数团队在一天内完成迁移。频道、发布和发布规则等概念直接映射,我们的团队提供文档和现场支持。在许多情况下,您只需安装插件、调用 notifyAppReady()并上传您的第一个捆绑包。

是的。 AppFlow 实时更新从 $499/月. Capgo 从 $14/月 使用基于的定价降至大约 $0.001/MAU。您还获得加密、自动回滚和全球延迟监控。

由于 AppFlow 进入维护模式,因此尽早迁移可以让您获得持续的 Capgoinnovation。我们建议在您的发布计划允许时切换。我们的工程团队将帮助您规划更改以确保您的 CI/CD 和部署继续运行。

Capgo 是为需要原生 delta 更新、加密捆绑包和持续创新的大型企业而设计的。 一旦您迁移,您就可以删除 AppFlowglue code,依赖原生自动化,并保持不间断的发布。