跳过内容

从 AppFlow 迁移到 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 等价物您需要设置吗?
appIdCapgo 控制台中管理创建项目时自动提供
channel / defaultChannel控制台/API 中的频道规则可选覆盖; 默认值来自服务器。 请参阅 多版本策略 默认启用
autoUpdateMethodautoUpdate: true保留策略
maxVersions集中配置 (默认 1 个月,最大 24 个月)不需要
enabledSee <a href="https://capacitorjs.com/docs/versions">here</a> for multi-version strategiesCapgo 切换通道可用性

步骤 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_KEEP_0__
  • Capgo始终最新

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

Section titled “最新版”
  • AppFlow: 添加一个 App.addListener('resume') handler 来下载并重新加载。
  • 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 – 将__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()步骤 5 – 将__CAPGO_KEEP_0__映射
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自动执行:

  • 为每次安装保留设备级别审计日志。
  • 在接近计划限制时发送主动邮件。
  • 为发布提供突发信用,以确保您在发布过程中不会被阻塞。
  • 在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()概念如频道、发布、和发布规则直接映射,

我们的团队提供文档和实践支持。

在许多情况下,您只需安装插件、调用

并上传您的第一个捆绑包。 我们会节省多少钱?. Capgo starts at 是的。AppFlow实时更新从 $499/月 起。__CAPGO_KEEP_0__从$14/月

起,基于使用的定价会降低到大约

Section titled “何时应该迁移?”

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

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