从 AppFlow 迁移到 Capgo
复制一个包含安装步骤和本插件的完整Markdown指南的设置提示
🚦 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(),以及(如果需要的话)配置可选的手动控制。下面的各个部分将逐步介绍每个任务。
步骤 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.
步骤 1 – 将 AppFlow SDK 替换为 Capgo
标题:步骤 1 – 将 AppFlow SDK 替换为 Capgonpm uninstall @capacitor/live-updatesnpm install @capgo/capacitor-updaternpx cap sync完成。Capgo 将为 iOS 和 Android 平台打包原生 code,无需额外的 JavaScript 助手。
步骤 2 – 最小配置(无手动字段)
标题:步骤 2 – 最小配置(无手动字段)现有的配置块很复杂。Capgo 可以自动检测您的项目和频道,因此最小配置是:
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, }, },}
export default config配置快速参考
配置快速参考| Ionic AppFlow设置 | Capgo等价物 | 是否需要设置? |
|---|---|---|
appId | 在Capgo控制台中管理 | 在创建项目时自动提供 |
channel / defaultChannel | API控制台中的频道规则 | 可选覆盖;默认值来自服务器。请参阅 版本目标 context:Capgo解决方案营销页面。角色:Capgo解决方案营销页面中的部分或页面标题。见于:page solutions/version-targeting.astro。消息键`solutions_version_targeting_title` (解决方案版本目标标题)。| 角色:Capgo解决方案营销页面中的短UI标签或导航项。见于:page solutions/version-targeting.astro。消息键`solutions_version_targeting` (解决方案版本目标)。 |
autoUpdateMethod | autoUpdate: true | 适用于多版本策略 |
maxVersions | 默认启用 | 配置中心 (1 个月默认,24 个月最大) |
enabled | 不需要 | Capgo 根据频道控制可用性 |
步骤 3 – 呼叫 notifyAppReady() (唯一需要的钩子)
步骤 3 – 呼叫 notifyAppReady() (唯一需要的钩子)在 Ionic 的指南中,您将 sync, download, 然后手动隐藏启动屏幕。__CAPGO_KEEP_0__ natively 执行这些操作。您只需确认应用已准备好: 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.
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 更新策略AppFlow documents three strategies. Here is how they map to Capgo:
后台(默认)
后台(默认)- AppFlow: 配置
autoUpdateMethod = background, 调用sync()手动。 - Capgo:默认启用。无需 JavaScript。
始终最新
标题:始终最新- AppFlow:添加一个
App.addListener('resume')下载并重新加载的处理器 - Capgo自定义更新时间窗口
:自动更新在恢复时已经运行。添加处理器仅当您想自定义更新时间窗口。
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__CAPGO_KEEP_0__notifyAppReady():
| AppFlow | Capgo | 是否需要? |
|---|---|---|
LiveUpdates.sync() | 自动处理 | 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 oncecapgo 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 metadatacapgo bundle upload \ --path dist \ --channel production \ --min-update-version "2.0.0"
# Use channels for different major versionscapgo bundle upload --channel v2 # for app version 2.xcapgo bundle upload --channel v3 # for app version 3.x查看 版本目标指南 为全面策略。
Capgo 自动执行:
- 在每次安装时保留设备级别的审计日志。
- 在您接近计划限制时发送主动邮件。
- 为您提供突发信用额度,以确保您在发布过程中不会被阻塞。
- 发布18个全球区域的延迟指标到 status.capgo.app/history.
Ionic企业插件
企业 Ionic 插件如果您的 Ionic 堆栈还使用企业插件,请遵循以下针对性的迁移文档。每个指南建议替换 Capgo 和下一步。
常见问题
常见问题为什么 AppFlow 停止提供实时更新?
为什么 AppFlow 停止提供实时更新?Ionic 停止商业产品,包括 AppFlow,来专注于开源框架。现有客户可以继续使用实时更新,直到 31 December 2027,但不接受新功能或客户。Capgo 填补了这一空白,提供了一个专门的本机 OTA 平台。
迁移需要多长时间?
关于迁移需要多长时间的部分大多数团队在一天内就完成了迁移。频道、发布和发布规则等概念直接映射,我们的团队提供了文档和实践支持。在许多情况下,您只需安装插件、调用 notifyAppReady()并上传您的第一个捆绑包。
我们会节省多少钱?
关于我们会节省多少钱的部分是的。AppFlow实时更新从 $499/月开始。Capgo从 $14/月 开始,基于使用的定价会降低到大约 $0.001/MAU. You also gain encryption, automatic rollbacks, and worldwide latency monitoring.
何时应该迁移?
何时应该迁移?由于 AppFlow 进入维护模式,尽早迁移可以让您获得 Capgo 的持续创新。我们建议在您的发布计划允许时切换。我们的工程团队将帮助您规划更改,以便您的 CI/CD 和部署保持正常运行。
额外资源
额外资源需要帮助?
需要帮助?- 预约升级会话: book.capgo.app/demo
- 加入社区: Capgo Discord
- 跟踪问题/请求功能: github.com/Cap-go/capacitor-updater
Capgo 是为企业量身定制的,提供原生增量更新、加密包和持续创新。完成迁移后,您可以删除 AppFlow 的胶水 code,依赖原生自动化,并保持不间断的发布。
继续从 AppFlow 迁移到 Capgo
继续从 AppFlow 迁移到 Capgo如果您正在使用 Migrate from AppFlow to Capgo 到计划迁移和企业运营,连接它 Capgo 企业 为Capgo 企业产品工作流 Ionic 企业插件替代方案 为Ionic 企业插件替代方案产品工作流 Capgo 替代方案 为Capgo 替代方案产品工作流 Capgo 咨询 为Capgo 咨询产品工作流 Capgo 高级支持 为Capgo 高级支持产品工作流