从 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(), 和—if desired—配置可选的手动控制。以下部分逐步介绍每个任务。
步骤 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配置快速参考
快速参考配置| Ionic AppFlow设置 | Capgo的等效项 | 需要设置吗? |
|---|---|---|
appId | Capgo控制台中管理 | 创建项目时自动提供 |
channel / defaultChannel | API控制台中的频道规则 | 可选覆盖;默认值来自服务器。请参阅 多版本策略 默认启用 |
autoUpdateMethod | autoUpdate: true | 保留策略 |
maxVersions | 在__CAPGO_KEEP_0__控制台中管理 | 已配置中心(默认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 会处理后台检查、启动屏幕可见性和回滚功能。
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 – 更新策略
步骤 4 – 更新策略AppFlow 文档提到三种策略。以下是它们如何映射到 Capgo:
背景(默认)
背景(默认)- AppFlow: 配置
autoUpdateMethod = background: 手动调用sync()手动 - Capgo: 默认启用。无需 JavaScript。
Always latest
标题:Always latest- 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- 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() | 步骤 5 – Mapping __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 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自动执行:
- 为每次安装保留设备级别审计日志。
- 在您接近计划限制时发送主动邮件。
- 为您提供突发信用额度,以确保您在发布过程中不会被阻塞。
- 在 status.capgo.app/history.
Ionic企业插件
Ionic 企业插件部分如果您的 Ionic 堆栈还使用企业插件,请遵循以下针对性的迁移文档。每个指南建议使用 Capgo 替换和下一步。
常见问题
常见问题部分为什么 AppFlow 停止实时更新?
为什么 AppFlow 停止实时更新?Ionic 停止商业产品,包括 AppFlow,重点关注其开源框架。现有客户可以继续使用实时更新直到 2027 年 12 月 31 日,但不接受新功能或客户。 Capgo 填补了这一空白,提供了一个专门的本机 OTA 平台。
迁移需要多长时间?
关于迁移时间的说明大多数团队在一天内完成迁移。我们提供了关于频道、发布和发布规则的文档,以及实时支持。在许多情况下,您只需安装插件、调用API并上传第一个包。 notifyAppReady()我们会节省多少钱?
关于节省钱的说明
是的。AppFlow实时更新从$499/月 起,__CAPGO_KEEP_0__从. Capgo starts at 起,基于使用量的定价会降低到大约 $0.001/MAU 我们提供了关于频道、发布和发布规则的文档,以及实时支持。在许多情况下,您只需安装插件、调用API并上传第一个包。. 您还将获得加密、自动回滚和全球延迟监控。
何时迁移?
标题:何时迁移?由于 AppFlow 进入维护模式,迁移越早,您就可以获得持续的 Capgoinnovation。我们建议在您的发布计划中切换。我们的工程团队将帮助您规划更改,以便您的 CI/CD 和部署保持正常运行。
额外资源
标题:额外资源需要帮助?
需要帮助?- 预约迁移会话: book.capgo.app/demo
- 加入社区: Capgo Discord
- 跟踪问题/请求功能: github.com/Cap-go/capacitor-updater
Capgo 为企业打造,提供原生增量更新、加密包和持续创新。迁移后,您可以删除 AppFlowglue code,依赖原生自动化,并保持不间断的发布。