시작하기
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사하세요.
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.
설치, 동기화 및 설명서 마크다운 설명서를 포함합니다.
설치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_KEEP_0__ 클라우드 통합을 포함한 기본적인 Quickstart 가이드를 따르는 것을 추천합니다. which covers both the plugin installation and Capgo cloud integration.
빠른 시작
개요
개요 섹션Capacitor 업데이터 플러그인은 Capacitor 애플리케이션에 대한 오버-더-에어(OTA) 업데이트를 지원합니다. 이 기능을 통해 앱 스토어 리뷰를 거치지 않고 앱에 업데이트를 푸시할 수 있습니다.
작동 방식
작동 방식 섹션- 배포 다운로드: 플러그인은 업데이트된 배포본(ZIP 파일)을 다운로드합니다. 이 배포본에는 웹 자산이 포함되어 있습니다.
- 추출: 배포본은 장치의 저장소에 추출됩니다.
- 핫 리로드: 앱은 새로운 배포본으로 Switch되며 재시작이 필요하지 않습니다.
- 백업: 업데이트가 실패하면 앱은 이전에 작동하던 버전으로 돌아갑니다.
사용 모드
사용 모드1. 자동 업데이트 모드 (권장)
1. 자동 업데이트 모드 (권장)자동 업데이트를 관리하는 데 자동으로 사용되는 플러그인과 함께 가장 간단한 방법입니다.
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Plugin handles everything automatically// Configure in capacitor.config.ts앱에 추가 capacitor.config.ts:
{ plugins: { CapacitorUpdater: { autoUpdate: true, 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추가 설정이 필요하지 않습니다. 플러그인은 BOX에서 작동합니다.
Android
Android추가 설정이 필요하지 않습니다. 플러그인은 BOX에서 작동합니다.
기본 API 사용 방법
Section titled “Basic API Usage”업데이트 다운로드
업데이트 다운로드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);번들 삭제
Bundle 삭제await CapacitorUpdater.delete({ id: 'bundle-id'});현재 Bundle 가져오기
현재 Bundle 가져오기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: true, updateUrl: 'https://api.example.com/updates',
// Update behavior resetWhenUpdate: true, directUpdate: false,
// 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자세한 내용은 기본적인 Quickstart 가이드 자세한 내용은
자체 호스팅 업데이트
자체 호스팅 업데이트자체 업데이트 서버를 호스팅하세요:
// Configure your update endpoint{ plugins: { CapacitorUpdater: { autoUpdate: true, updateUrl: 'https://your-server.com/api/check-update' } }}서버는 다음을 반환해야 합니다:
{ "version": "1.0.1", "url": "https://your-server.com/updates/1.0.1.zip"}보기 자체 호스팅 모드 자세한 내용은
수동 업데이트 흐름
수동 업데이트 흐름업데이트에 대한 완전한 제어:
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();}최선의 관행
Best Practices- 항상 앱이 성공적으로 로드 될 때
notifyAppReady()테스트 업데이트를 충분히 하기 전에 프로덕션으로 푸시 - 네트워크 실패 시 적절한 오류 처리를 구현
- 버전 번호를 일관되게 사용
- 다운로드 속도가 빠른 작은 배포 크기를 유지
- 업데이트 성공률을 모니터링
- 다음 단계
- - API 문서화 완료 Plugin API Reference
- 플러그인 설정 - 모든 구성 옵션
- 이벤트 - 사용 가능한 업데이트 이벤트
- 자체 호스팅 모드 - 자체 업데이트 서버를 실행
- 로컬 개발 - 로컬에서 업데이트 테스트
- 디버깅 - 문제 해결 가이드