从 AppFlow 迁移到 Capgo
复制一个包含安装步骤和本插件的完整Markdown指南的设置提示。
🚦 ionic 宣布 AppFlow 的商业产品,包括实时更新,正在停止。现有的项目可以运行到 31 December 2027, 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.
Step 1 – Replace the AppFlow SDK with Capgo
Section titled “Step 1 – Replace the AppFlow SDK with Capgo”npm 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 | 保留策略 | 集中配置(默认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()第 4 步 – 更新策略已翻译
步骤4 – 更新策略翻译AppFlow 文档提到了三种策略。它们如何映射到 Capgo:
背景(默认)
背景(默认)- AppFlow:配置
autoUpdateMethod = background,调用sync()手动。 - Capgo:默认启用。无需 JavaScript。
始终最新
始终最新- AppFlow: 添加一个
App.addListener('resume')handler - Capgo__CAPGO_KEEP_0__
: 自动更新在恢复时已经运行。添加处理程序仅当您希望自定义时间窗口时。
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 }) }})Copy to clipboard
Force update- Section titled “Force update”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() | 自定义流程可选;仪表盘开关控制强制更新 |
LiveUpdates.reload() | CapacitorUpdater.set() | 事件 (发出在 __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/zh-cn/demo
- 加入社区: Capgo Discord
- 跟踪问题/请求功能: github.com/Cap-go/capacitor-updater
Capgo 是为企业需求原生增量更新、加密包和持续创新而设计的。一次迁移后,您可以删除 AppFlowglue code,依赖原生自动化,并保持不间断的发布。
继续迁移到 Capgo
标题:继续迁移到 Capgo如果您正在使用 迁移到 Capgo 以规划迁移和企业运营,连接它与 Capgo Enterprise 为Capgo企业版产品工作流程 Ionic 企业插件替代品 为Ionic 企业插件替代品产品工作流程 Capgo替代品 为Capgo替代品产品工作流程 Capgo咨询 为Capgo咨询产品工作流程 Capgo高级支持 为Capgo高级支持产品工作流程