开始
复制一个包含安装步骤和本插件的完整 Markdown 指南的设置提示。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-updater`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/updater/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
您可以使用我们的AI辅助设置来安装插件。将Capgo技能添加到您的AI工具中,使用以下命令:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下提示:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-updater` plugin in my project.如果您prefer手动设置,安装插件并运行以下命令并遵循以下平台特定的说明:
bun add @capgo/capacitor-updaterbunx cap syncyarn add @capgo/capacitor-updaterbunx cap syncpnpm add @capgo/capacitor-updaterbunx cap syncbun add @capgo/capacitor-updaterbunx cap sync快速入门
快速入门对于大多数用户,我们建议遵循主的快速入门指南 快速入门指南 它涵盖了插件安装和Capgo云集成
本指南主要介绍了技术插件的详细信息,适合高级用户了解其底层机制或自行实现更新功能。
概述
概述The Capacitor Updater plugin enables over-the-air (OTA) updates for your Capacitor applications. This allows you to push updates to your app without going through app store reviews.
如何工作
如何工作- 下载更新包: Capgo Updater插件下载更新包(ZIP文件,包含您的Web资源)
- 解压: 更新包被解压到设备的存储中
- 热重载: 应用程序切换到新包,无需重启
- 备用模式: 如果更新失败,应用程序会切换到上一个可用的版本
使用模式
标题:使用模式1. 自动更新模式(推荐)
标题:1. 自动更新模式(推荐)使用自动更新管理的最简单方法:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically// Configure in capacitor.config.ts添加到你的 capacitor.config.ts:
{ plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', updateUrl: 'https://your-update-server.com/api/updates' } }}2. 手动模式
标题:2. 手动模式对于更新过程的高级控制:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Download an updateconst bundle = await CapacitorUpdater.download({ url: 'https://your-server.com/updates/v1.0.1.zip', version: '1.0.1'});
// Set the bundle (will be used on next app start)await CapacitorUpdater.set({ id: bundle.id});
// Or reload immediatelyawait CapacitorUpdater.reload();平台配置
平台配置iOS
iOS不需要额外的配置。插件可以直接使用。
Android
Android不需要额外的配置。插件可以直接使用。
基本API使用
基本API使用下载更新
下载更新import { CapacitorUpdater } from '@capgo/capacitor-updater';
const bundle = await CapacitorUpdater.download({ url: 'https://example.com/update.zip', version: '1.0.1'});
console.log('Downloaded bundle:', bundle.id);设置活动包
设置活动包// Set bundle to be used on next app startawait CapacitorUpdater.set({ id: bundle.id});重新加载新包
重新加载新包// Reload app immediately with new bundleawait CapacitorUpdater.reload();查看包列表
查看包列表const { bundles } = await CapacitorUpdater.list();console.log('Available bundles:', bundles);删除一个包
删除一个包await CapacitorUpdater.delete({ id: 'bundle-id'});获取当前包
获取当前包const { bundle } = await CapacitorUpdater.current();console.log('Current bundle:', bundle.version);事件监听器
事件监听器监听更新事件:
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Listen for download progressCapacitorUpdater.addListener('download', (info) => { console.log('Download progress:', info.percent);});
// Listen for download completionCapacitorUpdater.addListener('downloadComplete', (bundle) => { console.log('Download complete:', bundle.version);});
// Listen for update failuresCapacitorUpdater.addListener('updateFailed', (error) => { console.error('Update failed:', error);});
// Listen for successful updatesCapacitorUpdater.addListener('updateAvailable', (info) => { console.log('Update available:', info.version);});配置选项
配置选项在您的 capacitor.config.ts:
{ plugins: { CapacitorUpdater: { // Auto-update settings autoUpdate: 'atBackground', updateUrl: 'https://api.example.com/updates',
// Update behavior resetWhenUpdate: true,
// Version settings version: '1.0.0',
// Security allowModifyUrl: false,
// Stats collection statsUrl: 'https://api.example.com/stats',
// Channel (for Capgo cloud) defaultChannel: 'production' } }}集成模式
标题为“集成模式”使用 Capgo 云
标题为“使用 Capgo 云”开始的最简单方法:
// Install the Capgo CLIbun add -g @capgo/cli
// Login to Capgonpx @capgo/cli login
// Upload your first bundlenpx @capgo/cli bundle upload
// The plugin auto-updates from Capgo cloud查看 快速入门指南 获取详细信息。
自主托管更新
Section titled “自主托管更新”托管自己的更新服务器:
// Configure your update endpoint{ plugins: { CapacitorUpdater: { autoUpdate: 'atBackground', updateUrl: 'https://your-server.com/api/check-update' } }}您的服务器应返回:
{ "version": "1.0.1", "url": "https://your-server.com/updates/1.0.1.zip"}查看 自主托管模式 有关详细信息,请参见
自主托管模式
手动更新流程Section titled “手动更新流程”
import { CapacitorUpdater } from '@capgo/capacitor-updater';
async function checkAndUpdate() { // Check for updates from your server const response = await fetch('https://api.example.com/check-update'); const { version, url } = await response.json();
// Download the update const bundle = await CapacitorUpdater.download({ url, version });
// Notify bundle is ready await CapacitorUpdater.notifyAppReady();
// Set as next version await CapacitorUpdater.set({ id: bundle.id });
// Reload when ready await CapacitorUpdater.reload();}最佳实践
最佳实践- 始终在应用程序成功加载时调用
notifyAppReady()在推送到生产环境之前测试更新 - 网络故障时实施适当的错误处理
- 始终一致地使用版本号
- 保持捆绑包大小小以便快速下载
- 监控更新成功率
- 下一步
- Plugin API Reference - 完成 API 文档
- 插件设置 - 所有配置选项
- 事件 - 可用更新事件
- 自主托管模式 - 运行自己的更新服务器
- 本地开发 - 本地测试更新
- 调试 - 故障排查指南
继续从 Getting Started
Section titled “继续从 Getting Started”如果您正在使用 开始使用 来规划原生插件工作,连接它 使用@capgo/capacitor-updater 为native能力在使用@capgo/capacitor-updater Capgo 插件目录 为产品工作流程在Capgo 插件目录 Capacitor 插件由Capgo 为实现细节在Capacitor 插件由Capgo 添加或更新插件 为实现细节在添加或更新插件, 和 Ionic 企业插件替代品 为产品工作流程在Ionic 企业插件替代品。