Migrate from AppFlow to Capgo
复制一个包含安装步骤和本插件的完整 Markdown 指南的配置提示。
🚦 Ionic 宣布 AppFlow 的商业产品,包括实时更新,正在停止。现有项目可以运行到 2027 年 12 月 31 日,但不再接受新客户,并且没有计划新功能。这份指南将指导您完成迁移到 Capgo 的必要步骤,并突出了您获得的本机自动化。
迁移概述
标题:迁移概述Capgo 会处理通道、捆绑保留、回滚、分析和 CLI 上传。迁移简化为安装插件、调用 CapacitorUpdater.notifyAppReady(),并(如果需要)配置可选的手动控制。以下部分将逐步指导您完成每个任务。
步骤 0 – 把当前 AppFlow 设置捕获
Section titled “步骤 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
Section titled “步骤 1 – 替换 AppFlow SDK 为 Capgo”npm 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 等价物 | Do you need to set it? |
|---|---|---|
appId | 在 Capgo 控制台中管理 | 在创建项目时自动提供 |
channel / defaultChannel | API 控制台中的频道规则 | 可选覆盖; 默认值来自服务器。 请参阅 版本目标 多版本策略的使用方法 |
autoUpdateMethod | autoUpdate: 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()targetLanguage
步骤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 }) }})Force update
Section titled “Force update”- 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() | __CAPGO_KEEP_0__ 的本机自动更新不需要手动同步调用 | Capgo’s native auto-update runs without a manual sync call |
LiveUpdates.download() | CapacitorUpdater.download() | 自定义流程可选;仪表盘开关可处理强制更新 |
LiveUpdates.reload() | CapacitorUpdater.set() | event (emitted after __CAPGO_KEEP_0__) |
LiveUpdates.getVersion() | CapacitorUpdater.current() | Optional diagnostics |
第 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 highercapgo bundle upload \ --path dist \ --channel production \ --native-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 个全球区域发布延迟指标。 状态.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.
- 如果您的 Ionic 堆栈还使用企业插件,请遵循以下针对性的迁移文档。每个指南建议 __CAPGO_KEEP_0__ 的替换方案和下一步。
- 从Ionic Auth Connect迁移
- 从Ionic Identity Vault迁移
常见问题
常见问题为什么AppFlow关闭了实时更新?
为什么AppFlow关闭了实时更新?Ionic决定停止商业产品,包括AppFlow,来专注于开源框架。现有客户可以继续使用实时更新直到 31 December 2027,但不接受新功能或客户。Capgo用一个专门的原生OTA平台来填补这一空白。
迁移需要多长时间?
迁移需要多长时间?大多数团队在一天内就完成了迁移。概念,如频道、发布和发布规则直接映射,我们的团队提供了文档和实践支持。在许多情况下,您只需安装插件,调用 notifyAppReady(),并上传您的第一个捆绑包。
我们会节省多少钱?
标题:我们会节省多少钱?是的。 AppFlow 实时更新从 $499/月。 Capgo 从 $14/月 ,以基于使用的定价降至大约 $0.001/MAU。您还将获得加密、自动回滚和全球延迟监控。
什么时候我们应该迁移?
标题:什么时候我们应该迁移?由于 AppFlow 进入维护模式,尽早迁移可以让您获得持续的 Capgoinnovation。我们建议在您的发布计划中切换。我们的工程团队将帮助您规划更改以确保您的 CI/CD 和部署继续运行。
额外资源
标题:额外资源需要帮助?
标题:需要帮助?- 预约迁移会议: book.capgo.app/___
- 加入社区: Capgo Discord
- 跟踪问题/请求功能: github.com/Cap-go/capacitor-updater
Capgo 为企业打造,提供原生增量更新、加密包和持续创新。迁移后,您可以删除 AppFlowglue code,依赖原生自动化,并保持不间断的发布。
继续迁移到 Capgo
标题:继续迁移到 Capgo如果您正在使用 迁移到 Capgo 来规划迁移和企业运营,连接它到 Capgo 企业 为Capgo企业版产品工作流程 Ionic 企业插件替代方案 为Ionic 企业插件替代方案产品工作流程 Capgo替代方案 为Capgo替代方案产品工作流程 Capgo咨询 为Capgo咨询产品工作流程 Capgo高级支持 为Capgo高级支持产品工作流程