跳过内容

Migrate from AppFlow to Capgo

🚦 ionic 宣布 AppFlow 的商业产品,包括实时更新,正在停止。现有项目可以运行到 2027 年 12 月 31 日,但不接受新客户,并且没有计划新功能。这份指南将指导您完成迁移到 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 将本机 code 包含在 iOS 和 Android 中;不需要额外的 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 / defaultChannelAPI控制台中的频道规则可选覆盖;默认值来自服务器。请参见 版本目标 适用于多版本策略
autoUpdateMethodautoUpdate: true默认启用
maxVersions保留策略已配置中心(默认1个月,最大24个月)
enabled不需要Capgo 根据频道切换可用性

步骤 3 – 呼叫 notifyAppReady() (唯一需要的钩子)

步骤 3 – 呼叫 notifyAppReady() (唯一需要的钩子)

在 Ionic 的指南中,您将 sync, download, 然后手动隐藏启动屏幕。__CAPGO_KEEP_0__ 将执行这些操作。您只需确认应用程序已准备好: 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()

这就是全部了—Capgo 将处理后台检查、启动屏幕可见性和回滚等功能。

That’s it—Capgo handles the background checks, splash visibility, and rollbacks for you.

Optional: run logic before the splash screen hides
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 – Capgo 更新策略

步骤 4 – Capgo 更新策略

AppFlow documents three strategies. Here is how they map to Capgo:

后台(默认)

后台(默认)
  • AppFlow: 配置 autoUpdateMethod = background, 调用 sync() 手动。
  • Capgo: 启用默认。无需 JavaScript。

Always latest

Always latest
  • AppFlow: 添加一个 App.addListener('resume') handler
  • Capgo__CAPGO_KEEP_0__
: 自动更新在恢复时已经运行。添加处理程序仅当您希望自定义时间窗口。
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 })
}
})

Copy to clipboard

Force update
  • AppFlow:提示用户并调用 reload().
  • :Capgo:在仪表板中将包标记为“强制”,然后监听事件(在事件发生后发出),提示或强制用户在应用程序内 majorAvailable 步骤 5 - Mapping __CAPGO_KEEP_0__ calls notifyAppReady()AppFlow 方法
自动处理Capgo equivalent:在仪表板中将包标记为“强制”,然后监听事件(在事件发生后发出),提示或强制用户在应用程序内
LiveUpdates.sync()步骤 5 - Mapping __CAPGO_KEEP_0__ callsCapgo的原生自动更新不需要手动同步调用
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

版本特定的部署(如AppFlow)

标题:版本特定的部署(如AppFlow)

如果您需要针对特定的原生版本(类似于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 自动:

  • __CAPGO_KEEP_0__ 保留每次安装的设备级审计日志。
  • __CAPGO_KEEP_0__ 在您接近计划限制时发送主动邮件。
  • __CAPGO_KEEP_0__ 提供突发信用额度,以确保您在发布过程中不会被阻塞。
  • 发布 latency 指标的 18 个全球区域在 status.capgo.app/history.

Ionic 企业插件

Ionic 企业插件

如果您的 Ionic 堆栈还使用企业插件,请遵循以下针对性的迁移文档。每个指南建议替换 Capgo 并进行下一步。

常见问题

常见问题

为什么 AppFlow 停止提供实时更新?

为什么 AppFlow 停止提供实时更新?

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

迁移需要多长时间?

迁移需要多长时间?

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

是的。AppFlow实时更新从} $499/月.Capgo 从 Capgo 开始 $14/月 根据使用量定价,价格会降至大约 $0.001 每 MAU由于 AppFlow 进入维护模式,尽早迁移可以让您获得持续的 __CAPGO_KEEP_0__innovation。我们建议在您的发布计划允许时切换。我们的工程团队将帮助您规划更改以确保 CI/CD 和部署继续运行。

何时应该迁移?

何时应该迁移?

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

额外资源

额外资源

需要帮助?

需要帮助?

Capgo 是为企业量身定制的,需要原生增量更新、加密包和持续创新。您迁移后可以删除 AppFlowglue code,依赖原生自动化,并保持不间断的发布。

继续从 AppFlow 到 Capgo

继续从 AppFlow 到 Capgo

如果您正在使用 Migrate from AppFlow to Capgo 到计划迁移和企业运营,连接它 Capgo 企业 为Capgo 企业中的产品工作流 Ionic 企业插件替代方案 为Ionic 企业插件替代方案中的产品工作流 Capgo 替代方案 为Capgo 替代方案中的产品工作流 Capgo 咨询 为Capgo 咨询中的产品工作流 Capgo 高级支持 为Capgo 高级支持中的产品工作流