跳过内容

Migrate from AppFlow to Capgo

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

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

步骤 0 – 把当前 AppFlow 设置捕获

Section titled “步骤 0 – 把当前 AppFlow 设置捕获”
  • 注意 AppFlow App ID, 现有渠道和签名密钥。
  • 导出任何您想存档的捆绑包历史。
  • If you are using GitHub Actions or another CI provider, keep those pipelines—they will keep working with 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 等价物Do you need to set it?
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.

复制到剪贴板
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:在恢复时,自动更新已经运行。 只有在您想自定义时间窗口时才添加 handler。
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 步 – Mapping __CAPGO_KEEP_0__

标题:第 5 步 – Mapping API

Section titled “Step 5 – Mapping API calls”
__CAPGO_KEEP_0__ 的等效项Capgo equivalent已自动处理
LiveUpdates.sync()__CAPGO_KEEP_0__ 的本机自动更新不需要手动同步调用Capgo’s native auto-update runs without a manual sync call
LiveUpdates.download()CapacitorUpdater.download()自定义流程可选;仪表盘开关可处理强制更新
LiveUpdates.reload()CapacitorUpdater.set()event (emitted after __CAPGO_KEEP_0__)
LiveUpdates.getVersion()CapacitorUpdater.current()Optional diagnostics

第 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
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

查看 版本目标指南 为全面策略提供。

Capgo 自动:

  • 在每次安装时为设备级别保留审计日志。
  • 在您接近计划限制时发送主动邮件。
  • 为您提供突发信用,以确保您在发布过程中不会被阻塞。
  • 在 18 个全球区域发布延迟指标。 状态.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,来专注于开源框架。现有客户可以继续使用实时更新直到 31 December 2027,但不接受新功能或客户。Capgo用一个专门的原生OTA平台来填补这一空白。

迁移需要多长时间?

迁移需要多长时间?

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

我们会节省多少钱?

标题:我们会节省多少钱?

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

什么时候我们应该迁移?

标题:什么时候我们应该迁移?

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

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

继续迁移到 Capgo

标题:继续迁移到 Capgo

如果您正在使用 迁移到 Capgo 来规划迁移和企业运营,连接它到 Capgo 企业 为Capgo企业版产品工作流程 Ionic 企业插件替代方案 为Ionic 企业插件替代方案产品工作流程 Capgo替代方案 为Capgo替代方案产品工作流程 Capgo咨询 为Capgo咨询产品工作流程 Capgo高级支持 为Capgo高级支持产品工作流程