Migrate from AppFlow to Capgo
可复制
🚦 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配置快速参考
配置快速参考| Ionic AppFlow设置 | Capgo等价物 | 是否需要设置它? |
|---|---|---|
appId | 在Capgo控制台中管理 | 在创建项目时自动提供 |
channel / defaultChannel | API控制台中的频道规则 | 可选覆盖;默认值来自服务器。请参见 版本目标 context:Capgo解决方案营销页面。角色:部分或页面标题。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting_title` (解决方案版本目标标题)。|context:Capgo解决方案营销页面。角色:短UI标签或导航项。见于:页面解决方案/版本目标.astro。消息键`solutions_version_targeting` (解决方案版本目标)。 |
autoUpdateMethod | autoUpdate: true | 适用于多版本策略 |
maxVersions | 默认启用 | 已配置中心(默认1个月,最大24个月) |
enabled | 不需要 | Capgo 根据频道切换可用性 |
步骤3 – 调用 notifyAppReady() (唯一需要的钩子)
标题:步骤3 – 调用 notifyAppReady()(唯一需要的钩子)在Ionic的指南中,您将 sync, download, 并 reload, 然后手动隐藏启动屏幕。Capgo natively执行这些操作。您只需确认应用程序已准备好:
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 – Capgo 升级策略
步骤 4 – Capgo 升级策略Capgo 文档提出了三种策略。以下是它们如何映射到 Capgo:
后台(默认)
后台(默认)- AppFlow: 配置
autoUpdateMethod = background, 调用sync()手动。 - Capgo:默认启用。无需 JavaScript。
始终最新
标题:始终最新- AppFlow:添加一个
App.addListener('resume')下载并重新加载的处理器 - Capgo提交到 Capgo 的 PR
:自动更新在恢复时已经运行。只添加处理器,如果您想自定义时间窗口。
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步骤5 – Mapping __CAPGO_KEEP_0__ callsnotifyAppReady()AppFlow方法
| 自动处理 | 步骤5 – Mapping Capgo calls | AppFlow |
|---|---|---|
LiveUpdates.sync() | __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 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 自动:
- __CAPGO_KEEP_0__ 保留每次安装的设备级审计日志。
- __CAPGO_KEEP_0__ 在您接近计划限制时发送主动邮件。
- __CAPGO_KEEP_0__ 提供突发信用额度,以确保您在发布过程中不会被阻塞。
- __CAPGO_KEEP_0__ 在 18 个全球区域发布延迟指标。 status.capgo.app/history.
Ionic 企业插件
Ionic 企业插件部分如果您的 Ionic 堆栈还使用企业插件,请遵循以下针对性的迁移文档。每个指南建议替换 Capgo 并进行下一步。
常见问题
常见问题部分为什么 AppFlow 停止提供实时更新?
实时更新停止部分Ionic 停止商业产品,包括 AppFlow,来专注于开源框架。现有客户可以继续使用实时更新,直到 2027 年 12 月 31 日,但不接受新功能或客户。Capgo 填补了这一空白,提供了一个专门的本地 OTA 平台。
How long does migration take?
How long does migration take?大多数团队在一天内完成迁移。频道、发布和发布规则等概念直接映射,我们的团队提供文档和现场支持。在许多情况下,您只需安装插件、调用__CAPGO_KEEP_0__并上传第一个包。 notifyAppReady()Will we save money?
Will we save money?
是的。AppFlow实时更新从$499/mo开始,__CAPGO_KEEP_0__从$14/mo开始,使用基于使用的定价降至大约$0.001/MAU$499/mo $14/mo. Capgo starts at $0.001 MAU MAU。您还将获得加密、自动回滚和全球延迟监控。
何时应该迁移?
标题:何时应该迁移?由于 AppFlow 进入维护模式,迁移越早,您就可以获得持续的 Capgoinnovation。我们建议在您的发布计划允许时切换。我们的工程团队将帮助您规划更改以便您的 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 高级支持产品工作流