从 AppFlow 迁移到 Capgo
复制一个包含安装步骤和此插件的完整Markdown指南的设置提示。
🚦 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 替换为 Capgonpm uninstall @capacitor/live-updatesnpm install @capgo/capacitor-updaternpx cap sync完成。 Capgo 将本机 code 的 iOS 和 Android 版本打包在一起;不需要额外的 JavaScript 助手。
步骤 2 – 最小配置(无手动字段)
步骤 2 – 最小配置(无手动字段)现有的配置块很全面。 Capgo 可以自动检测您的项目和频道,因此最小配置是:
import { CapacitorConfig } from '@capacitor/cli'
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { autoUpdate: true, autoDeletePrevious: true, }, },}
export default config配置快速参考
步骤 2 – 最小配置(无手动字段)| Ionic AppFlow 设置 | Capgo 等价物 | 您需要设置吗? |
|---|---|---|
appId | Capgo 控制台中管理 | 创建项目时自动提供 |
channel / defaultChannel | 控制台/API 中的频道规则 | 可选覆盖; 默认值来自服务器。 请参阅 多版本策略 默认启用 |
autoUpdateMethod | autoUpdate: true | 保留策略 |
maxVersions | 集中配置 (默认 1 个月,最大 24 个月) | 不需要 |
enabled | See <a href="https://capacitorjs.com/docs/versions">here</a> for multi-version strategies | 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()步骤 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 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个全球区域发布延迟指标,网址为 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 和部署继续运行。
- 预约迁移会话: cal.com/team/capgo/demo
- 加入社区: Capgo Discord
- 跟踪问题/请求功能: github.com/Cap-go/capacitor-updater
Capgo 为企业打造的原生增量更新、加密包和持续创新。迁移后,您可以删除 AppFlowglue code,依赖原生自动化,并保持不间断的发布。