跳转至正文

更新器 Capacitor 插件

无需等待 App Store 审核,即可将 Ionic 和 Capacitor 的 live updates 即时部署给用户

安装

bun add @capgo/capacitor-updater bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-updater
  • pnpm add @capgo/capacitor-updater
  • yarn add @capgo/capacitor-updater

指南

如何在 Capacitor 中使用 Updater

在设备上测试

下载 Capgo App,然后扫描二维码 code。

Updater 插件预览二维码 code

使用 @capgo/capacitor-updater 为 Ionic 和 Capacitor 实现 Live Updates

@capgo/capacitor-updater 是 Capgo Live Updates 背后的开源 updater 插件,适用于 Ionic 和 Capacitor 应用。它负责下载经过审核的 web bundle,并在原生回滚保护下应用这些 bundle,同时让仅涉及二进制的变更继续走 App Store 和 Play 商店的常规审核流程。

当原生壳已通过审核,而你需要对 HTML、CSS、JavaScript、资源及其他 Web 层变更进行 OTA 更新时,就可以用它。

安装

npm install @capgo/capacitor-updater
npx cap sync

适用场景

对于 Ionic 团队来说,Live Updates 通常意味着同一套流程:发布新的 web bundle,而不必让每个用户都走完整的应用商店发布。Capgo 通过 channel、兼容性检查、发布控制、设备日志和回滚,为 Capacitor 应用处理这套流程。

原生插件、entitlements、Android manifest 变更、iOS plist 变更以及二进制 SDK 更新仍需要通过常规的应用商店发布。请将这些变更保留在原生 build pipeline 中,并对已获批的 Web 层使用 Live Updates。

插件暴露的内容

  • notifyAppReady - 通知原生层 JavaScript 已成功初始化。
  • setUpdateUrl - 在运行时动态设置应用的更新 URL。
  • setStatsUrl - 在运行时动态设置应用的统计 URL。
  • setChannelUrl - 在运行时动态设置应用的 channel URL。

用法示例

notifyAppReady

通知原生层 JavaScript 已成功初始化。

import { CapacitorUpdater } from '@capgo/capacitor-updater';

const result = await CapacitorUpdater.notifyAppReady();
console.log(result);

setUpdateUrl

在运行时动态设置应用的更新 URL。

import { CapacitorUpdater } from '@capgo/capacitor-updater';

await CapacitorUpdater.setUpdateUrl({ url: 'https://example.com' });

setStatsUrl

在运行时动态设置应用的统计 URL。

import { CapacitorUpdater } from '@capgo/capacitor-updater';

await CapacitorUpdater.setStatsUrl({ url: 'https://example.com' });

setChannelUrl

在运行时动态设置应用的 channel URL。

import { CapacitorUpdater } from '@capgo/capacitor-updater';

await CapacitorUpdater.setChannelUrl({ url: 'https://example.com' });

完整参考

从 @capgo/capacitor-updater 继续

如果你正在使用 @capgo/capacitor-updater 要规划 live updates,请将其连接到 Capgo Live Updates 用于产品工作流, @capgo/capacitor-updater 了解实现细节, 快速入门, 通道,以及 回滚.

常见问题

Updater 插件常见问题

如何在 Capacitor 应用中安装 Updater 插件?

运行 "bun add @capgo/capacitor-updater"(或 "npm install @capgo/capacitor-updater"),然后运行 "bunx cap sync",以便 iOS 和 Android 项目获取原生 code。在您的应用 code 中从 "@capgo/capacitor-updater" 导入它。

@capgo/capacitor-updater 支持 React、Vue 和 Angular 吗?

支持。Updater 是一个 Capacitor 包,因此适用于任何在 Capacitor 内运行的 Web 框架,包括 Ionic、React、Vue、Angular、Svelte 和纯 JavaScript。

@capgo/capacitor-updater 支持哪个版本的 Capacitor?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-updater 是免费且开源的吗?

是的。code 源代码公开在 GitHub 上,地址为 https://github.com/Cap-go/capacitor-updater/,并且可以从 npm 免费安装该包。欢迎提交 Bug 报告和 Pull Request。

我可以更新使用 Updater 的 code 而无需经过 App Store 审核吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待应用审核即可发布 Updater 变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo