使用 @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' });
完整参考
- GitHub: https://github.com/Cap-go/capacitor-updater/
- 文档:/docs/plugins/updater/
- Live update 产品:/live-update/
从 @capgo/capacitor-updater 继续
如果你正在使用 @capgo/capacitor-updater 要规划 live updates,请将其连接到 Capgo Live Updates 用于产品工作流, @capgo/capacitor-updater 了解实现细节, 快速入门, 通道,以及 回滚.