跳过内容

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控制台中的频道规则可选覆盖;默认值来自服务器。请参见 版本目标 context:Capgo解决方案营销页面。角色:部分或页面标题。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting_title` (解决方案版本目标标题)。|context:Capgo解决方案营销页面。角色:短UI标签或导航项。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting` (解决方案版本目标)。
autoUpdateMethodautoUpdate: true适用于多版本策略
maxVersions默认启用已配置中心(默认1个月,最大24个月)
enabled不需要Capgo 根据频道切换可用性

步骤3 – 调用 notifyAppReady() (唯一需要的钩子)

标题:步骤3 – 调用 notifyAppReady()(唯一需要的钩子)

在Ionic的指南中,您将 sync, download, 并 reload, 然后手动隐藏启动屏幕。Capgo natively执行这些操作。您只需确认应用程序已准备好:

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 – Capgo 升级策略

步骤 4 – Capgo 升级策略

Capgo 文档提出了三种策略。以下是它们如何映射到 Capgo:

后台(默认)

后台(默认)
  • AppFlow: 配置 autoUpdateMethod = background, 调用 sync() 手动。
  • Capgo:默认启用。无需 JavaScript。
  • AppFlow:添加一个 App.addListener('resume') 下载并重新加载的处理器
  • Capgo提交到 Capgo 的 PR
:自动更新在恢复时已经运行。只添加处理器,如果您想自定义时间窗口。
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 步骤5 – Mapping __CAPGO_KEEP_0__ calls notifyAppReady()AppFlow方法
自动处理步骤5 – Mapping Capgo callsAppFlow
LiveUpdates.sync()__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
# 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__ 提供突发信用额度,以确保您在发布过程中不会被阻塞。
  • __CAPGO_KEEP_0__ 在 18 个全球区域发布延迟指标。 status.capgo.app/history.

Ionic 企业插件

Ionic 企业插件部分

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

常见问题

常见问题部分

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

实时更新停止部分

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

How long does migration take?

How long does migration take?

大多数团队在一天内完成迁移。频道、发布和发布规则等概念直接映射,我们的团队提供文档和现场支持。在许多情况下,您只需安装插件、调用__CAPGO_KEEP_0__并上传第一个包。 notifyAppReady()Will we save money?

$499/mo $14/mo. Capgo starts at $0.001 MAU MAU。您还将获得加密、自动回滚和全球延迟监控。

何时应该迁移?

标题:何时应该迁移?

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

需要帮助?

需要帮助?

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

继续从 AppFlow 到 Capgo

继续从 AppFlow 到 Capgo

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