跳转至正文

CLI 入门指南

快速入门概览

“快速概览”章节

Capgo CLI 提供交互式入门指南,为您的 Capacitor 应用配置 Live Update。您将:

  1. ✅ 在 Capgo 中注册您的应用
  2. 🔌 安装并配置 updater 插件
  3. 🚀 部署您的第一个 live update
  4. 📱 在设备上测试更新

预计耗时: 10-20 分钟(取决于您的网速和 build 时间)

使用您的 API 密钥运行 onboarding 命令:

终端窗口
npx @capgo/cli@latest init [APIKEY]

您将看到欢迎信息:

Capgo onboarding 🛫

Onboarding 过程中会发生什么

“Onboarding 过程中会发生什么”章节

CLI 将引导您完成 13 个交互式步骤:

配置阶段 (步骤 1-6):

  • 检查您的开发环境 (Xcode/Android Studio)
  • 将您的应用添加到 Capgo 并创建生产环境 channel
  • 安装 @capgo/capacitor-updater plugin
  • 在应用中注入必要的 code
  • (可选)启用端到端加密
  • 选择测试平台 (iOS 或 Android)

测试阶段 (步骤 7-12):

  • 构建应用并在真机/模拟器上运行
  • 进行可见的 code 变更 (自动或手动)
  • 将更新后的 bundle upload 至 Capgo
  • 实时查看设备上出现的 live update

完成 (步骤 13):

  • 您的应用已准备好进行 Live Update! 🎉

CLI 会检查您的开发环境,以确保您已安装必要的工具。

检查项目:

  • Xcode (仅限 macOS)- 用于 iOS 开发
  • Android SDK - 用于 Android 开发

可能的结果:

✅ 两个环境均已找到:

✅ Xcode detected - iOS development ready
✅ Android SDK detected - Android development ready

⚠️ 未找到环境:

⚠️ Xcode not found
⚠️ Android SDK not found
❌ No development environment detected
📱 To develop mobile apps with Capacitor, you need:
• For iOS: Xcode (macOS only) - https://developer.apple.com/xcode/
• For Android: Android Studio - https://developer.android.com/studio

可能会问到的问题:

CLI 将引导你登录 Capgo 并将你的 App 添加到账户中。

(spinner) Running: npm @capgo/cli@latest login ***
Login Done ✅
❓ Add {appId} in Capgo?

如果您的 App ID 已被占用:

CLI 将会提供以下建议:

❌ App ID "com.example.app" is already taken
💡 Here are some suggestions:
1. com.example.app2
2. com.example.app3
3. com.example.app.new
4. com.example.app.app
❓ What would you like to do?

您可以选择建议的 ID 或输入自定义 App ID。

步骤 3:创建生产环境 Channel

标题为“步骤 3:创建生产环境 Channel”

Channel 可以让您管理应用的不同更新流。

❓ Create default channel production for {appId} in Capgo?

如果您选择“是”:

(spinner) Running: npm @capgo/cli@latest channel add production {appId} --default
Channel add Done ✅ (or "Channel already added ✅")

将创建一个 production 频道并将其设为默认值。这是大多数用户的推荐选项。

如果您选择“否”:

If you change your mind, run it for yourself with: "npm @capgo/cli@latest channel add production {appId} --default"

您稍后需要手动创建并配置频道。或者,您可以:

  • 在您的 capacitor.config.ts 文件中设置频道
  • 使用 JavaScript setChannel() 方法动态设置 channel
  • 稍后可通过 Capgo Web 控制台配置 channel

CLI 将安装 @capgo/capacitor-updater 与您的 Capacitor 版本兼容的 plugin。

❓ Automatic Install "@capgo/capacitor-updater" dependency in {appId}?

版本兼容性:

  • Capacitor 5:安装 @capgo/capacitor-updater v5
  • Capacitor 6:安装 @capgo/capacitor-updater v6
  • Capacitor 7:安装 @capgo/capacitor-updater v7
  • Capacitor 8+:安装最新版本

即时更新选项:

安装完成后,系统会提示您:

❓ Do you want to set instant updates in {appId}?
Read more: https://capgo.app/docs/live-updates/update-behavior/#applying-updates-immediately

如果您选择“是”:

  • 更新将被配置为在 App 进入后台并重新打开时立即应用
  • autoUpdate: 'always' 和 autoSplashscreen: true 将被添加到您的配置中
  • @capacitor/splash-screen 如果缺失将会被安装,并带有 launchAutoHide: false
  • 您的 capacitor.config.ts 将自动更新
  • 增量更新 保持启用。即时应用(always, atInstall, onLaunch)应继续使用 npx @capgo/cli@latest bundle upload --delta 这样只会下载变更的文件,用户无需等待完整 zip 包下载

如果选择“否”:

  • 更新将采用标准行为(后台下载,下次重启时生效)
  • 您之后随时可以通过修改您的配置来启用即时更新 capacitor.config.ts

CLI 会自动将所需的 code 注入到您的主应用文件中。

❓ Automatic Add "CapacitorUpdater.notifyAppReady()" code and import in {appId}?

新增内容:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

项目类型检测:

  • Nuxt.js:创建 plugins/capacitorUpdater.client.ts
  • 其他框架:添加到主入口文件

端到端加密为你的更新提供了额外的安全保障。

🔐 End-to-end encryption
✅ Use this for: Banking, healthcare, or apps with legal encryption requirements
⚠️ Note: Makes debugging harder - skip if you don't need it
❓ Enable end-to-end encryption for {appId} updates?

如果您启用加密,CLI 将:

  1. 生成加密密钥
  2. 提示同步您的 Capacitor 配置

在 onboarding 期间选择要测试的平台。

📱 Platform selection for onboarding
This is just for testing during onboarding - your app will work on all platforms
❓ Which platform do you want to test with during this onboarding?
Options:
- iOS
- Android

CLI 将构建您的应用并将其与 Capacitor 同步。

❓ Automatic build {appId} with "npm run build"?

具体流程:

  1. 检测项目类型
  2. 运行 build 脚本
  3. 执行中 npx cap sync {platform}

如果缺少 build 脚本:

系统会询问您是要跳过构建,还是为您的项目添加一个 build 脚本 package.json.

在真机或模拟器上测试应用的初始版本。

❓ Run {appId} on {PLATFORM} device now to test the initial version?

如果你选择 是:

(spinner) Running: npx cap run {platform}
(device picker appears)
App started ✅
📱 Your app should now be running on your {platform} device with Capgo integrated
🔄 This is your baseline version - we'll create an update next

现在可以通过进行一项可见的更改来测试 Capgo 的更新系统了。

🎯 Now let's test Capgo by making a visible change and deploying an update!
❓ How would you like to test the update?
Options:
- Auto: Let Capgo CLI make a visible change for you
- Manual: I'll make changes myself

自动模式: CLI 会自动修改你的文件,以添加一个可见的测试横幅或更改。

手动模式: 你可以进行自定义修改(例如:更改文本、颜色或添加元素)。

版本管理:

❓ How do you want to handle the version for this update?
Options:
- Auto: Bump patch version ({currentVersion} → {nextVersion})
- Manual: I'll provide the version number

包含修改内容的 Build:

❓ Build {appId} with changes before uploading?

将更新后的 app bundle upload 到 Capgo。

❓ Upload the updated {appId} bundle (v{version}) to Capgo?

CLI 正在运行:

终端窗口
npx @capgo/cli@latest bundle upload

Delta updates 提示(如果已启用 instant apply 模式):

💡 Instant updates are enabled in your config
Delta updates send only changed files instead of the full bundle
❓ Enable delta updates for this upload? (Recommended with instant updates)

成功:

✅ Update v{version} uploaded successfully!
🎉 Your updated bundle is now available on Capgo

是时候看看 Update 的实际效果了!

🧪 Time to test the Capgo update system!
📱 Go to your device where the app is running

对于即时更新:

🔄 IMPORTANT: Background your app (swipe up/press home button) and then reopen it
⏱️ The update should be downloaded and applied automatically

对于标准更新:

📱 With standard updates, you will need to:
1. Background the app (swipe up/press home button) to start download
2. Wait a few seconds for download to complete
3. Background and foreground again to see the update

监控日志:

❓ Monitor Capgo logs to verify the update worked?

如果你选择 是,你将看到来自设备的实时日志,展示更新过程。

Welcome onboard ✈️!

恭喜!你已成功为应用配置好 Capgo live updates。

完成 onboarding 后,你已实现:

✅ App 已注册

你的 App 已在 Capgo 中注册并配置了 production channel

✅ Plugin 已安装

Capacitor Updater plugin 已安装并配置完成

✅ 已集成 Code

code 集成已添加到你的 App 中

✅ 更新测试通过

你已成功部署并接收到了 live update

后续更新请使用:

终端窗口
npm run build
npx @capgo/cli@latest bundle upload --channel=production

了解更多部署选项,请参阅 部署 Live Update.

如果您退出了 onboarding 流程,可以随时恢复:

终端窗口
npx @capgo/cli@latest init [APIKEY]

您将看到:

You have already got to the step {stepNumber}/13 in the previous session
❓ Would you like to continue from where you left off?

问题: 未检测到 Xcode 或 Android SDK。

解决方案:

问题: 您的 app ID 已被注册。

解决方案: 选择建议的备选 ID,或使用反向域名格式输入自定义 app ID。

问题: 在以下路径中未找到 build script: package.json.

解决方案: 请在你的项目中添加 build script: package.json:

{
"scripts": {
"build": "your-build-command"
}
}

问题: CLI 无法自动注入集成组件 code。

解决方案: 请手动将 code 添加到你的主文件中:

import { CapacitorUpdater } from '@capgo/capacitor-updater'
CapacitorUpdater.notifyAppReady()

问题: 您的 Capacitor 版本低于 v5。

解决方案: 将 Capacitor 升级至 v5 或更高版本:

完成 onboarding 后,您可以进一步探索以下主题:

如果在入门阶段遇到问题:

如果你正在使用 CLI 入门指南 来规划 dashboard 和 API 操作,请将其连接至 API 概览 关于 API 概览中的实现细节, 简介 了解“简介”中的实现细节, API 密钥 了解“API Keys”中的实现细节, 设备 有关 Devices 的实现细节,请参阅 Bundles 有关 Bundles 的实现细节,请参阅