콘텐츠로 건너뛰기

업데이트 유형

Capgo는 여러 유형의 무선(OTA) 업데이트를 지원합니다. 이 페이지에서는 앱에 적합한 조합을 선택할 수 있도록 모든 유형을 나열하고 설명합니다.

업데이트가 다운로드된 후 언제 적용되는지를 제어합니다.

유형설명사용 사례
기본값백그라운드에서 다운로드하고 사용자가 앱을 백그라운드로 전환하거나 종료할 때 적용대부분의 앱; 최소한의 중단
directUpdate: atInstall새로 설치하거나 앱 스토어 업데이트 시에만 즉시 적용신규 사용자는 최신 버전을 받고 기존 사용자는 기본 흐름 사용
directUpdate: onLaunch설치, 스토어 업데이트 또는 앱 종료 후 즉시 적용최신성과 세션 안정성 간의 균형
directUpdate: always업데이트가 다운로드될 때마다 즉시 적용(재개 시 포함)중요한 수정, 단순한 상태를 가진 앱

capacitor.config.ts에서 구성:

plugins: {
CapacitorUpdater: {
directUpdate: false, // default
// or: 'atInstall' | 'onLaunch' | 'always'
}
}

업데이트가 설치되기 전에 충족되어야 하는 조건입니다. setMultiDelay를 사용하여 조건을 결합할 수 있습니다(모든 조건이 충족되어야 함).

조건설명예시
date특정 날짜/시간 이후까지 대기서버 측 릴리스와 조율
background앱이 백그라운드로 전환된 후 최소 기간(ms) 대기빠른 앱 전환 중 적용 방지
nativeVersion최소 네이티브 바이너리 버전 필요호환되지 않는 네이티브 코드에서 업데이트 차단
kill다음 앱 종료 이벤트까지 대기완전한 재시작 시에만 적용
import { CapacitorUpdater } from '@capgo/capacitor-updater';
await CapacitorUpdater.setMultiDelay({
delayConditions: [
{ kind: 'date', value: '2023-06-01T00:00:00.000Z' },
{ kind: 'background', value: '60000' },
],
});

채널이 자동으로 전달할 semver 업데이트를 제어합니다. 채널에서 --disable-auto-update를 통해 설정합니다.

전략차단허용사용 사례
none없음모든 업데이트기본값; 완전 자동 업데이트
major0.0.0 → 1.0.0동일한 메이저 버전 (예: 1.x → 1.y)이전 네이티브 버전에 주요 변경사항이 도달하는 것을 방지
minor0.0.0 → 1.1.0, 1.1.0 → 1.2.0동일한 마이너 버전 (예: 1.2.x → 1.2.y)메이저 버전 내에서 더 엄격한 제어
patch패치 증가를 제외한 모든 변경0.0.311 → 0.0.314만 허용매우 엄격; 패치 전용 업데이트
metadatamin_update_version 없는 업데이트명시적 호환성 메타데이터가 있는 업데이트번들별 맞춤 호환성 규칙
Terminal window
npx @capgo/cli channel set production --disable-auto-update major

번들이 기기로 전송되는 방법입니다.

유형설명사용 시기
전체 번들전체 JS 번들이 다운로드됨첫 설치, 대규모 변경 또는 델타를 사용할 수 없을 때
델타 (매니페스트)변경된 파일만 다운로드됨대부분의 업데이트; 더 빠르고 대역폭 친화적
Terminal window
# 전체 번들 (기본값)
npx @capgo/cli bundle upload --channel production
# 델타 업데이트
npx @capgo/cli bundle upload --channel production --delta
카테고리유형
적용 시점기본값, atInstall, onLaunch, always
지연 조건date, background, nativeVersion, kill
버전 차단none, major, minor, patch, metadata
전달전체 번들, 델타 (매니페스트)