跳过内容

从 AppFlow 迁移到 Capgo

🚦 ionic 宣布 AppFlow 的商业产品,包括实时更新,正在停止。现有的项目可以运行到 31 December 2027, but no new customers are accepted and no new features are planned. This guide walks you through the actions required to migrate to Capgo and highlights the native automation you gain.

Capgo handles channels, bundle retention, rollbacks, analytics, and CLI uploads for you. Migration boils down to installing the plugin, calling CapacitorUpdater.notifyAppReady(),并(如果需要)配置可选的手动控制。以下部分将逐步指导您完成每个任务。

步骤 0 – 把握当前 AppFlow 设置

标题:步骤 0 – 把握当前 AppFlow 设置
  • 注意 AppFlow App ID, 现有渠道和签名密钥。
  • 导出您想存档的任何捆绑包历史。
  • If you are using GitHub Actions or another CI provider, keep those pipelines—they will keep working with Capgo.

Step 1 – Replace the AppFlow SDK with Capgo

Section titled “Step 1 – Replace the AppFlow SDK with 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.

复制到剪贴板
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__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
  • Section titled “Force update”AppFlow reload().
  • Capgo: 在仪表盘中标记该包为“强制”然后监听事件(在 majorAvailable )之后发出,提示或强制用户在应用内进行操作。 notifyAppReady()第 5 步 – 将__CAPGO_KEEP_0__调用映射

标题:第 5 步 – 将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()事件 (发出在 __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 Enterprise 为Capgo企业版产品工作流程 Ionic 企业插件替代品 为Ionic 企业插件替代品产品工作流程 Capgo替代品 为Capgo替代品产品工作流程 Capgo咨询 为Capgo咨询产品工作流程 Capgo高级支持 为Capgo高级支持产品工作流程