跳过内容

从 AppFlow 迁移到 Capgo

🚦 ionic 宣布 AppFlow 的商业产品,包括实时更新,正在停止。现有的项目可以运行到 2027 年 12 月 31 日, 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(), 和—if desired—配置可选的手动控制。以下部分逐步介绍每个任务。

步骤 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的等效项需要设置吗?
appIdCapgo控制台中管理创建项目时自动提供
channel / defaultChannelAPI控制台中的频道规则可选覆盖;默认值来自服务器。请参阅 多版本策略 默认启用
autoUpdateMethodautoUpdate: true保留策略
maxVersions在__CAPGO_KEEP_0__控制台中管理已配置中心(默认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 会处理后台检查、启动屏幕可见性和回滚功能。

Capgo

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 – 更新策略

步骤 4 – 更新策略

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()步骤 5 – Mapping __CAPGO_KEEP_0__ 调用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

版本特定的部署(如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自动执行:

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

Ionic企业插件

Ionic 企业插件部分

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

常见问题

常见问题部分

为什么 AppFlow 停止实时更新?

为什么 AppFlow 停止实时更新?

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

迁移需要多长时间?

关于迁移时间的说明

大多数团队在一天内完成迁移。我们提供了关于频道、发布和发布规则的文档,以及实时支持。在许多情况下,您只需安装插件、调用API并上传第一个包。 notifyAppReady()我们会节省多少钱?

关于节省钱的说明

是的。AppFlow实时更新从

$499/月 起,__CAPGO_KEEP_0__从. Capgo starts at 起,基于使用量的定价会降低到大约 $0.001/MAU 我们提供了关于频道、发布和发布规则的文档,以及实时支持。在许多情况下,您只需安装插件、调用API并上传第一个包。. 您还将获得加密、自动回滚和全球延迟监控。

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

需要帮助?

需要帮助?

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