본문 바로가기

업데이트 유형

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

제어 할 때 업데이트는 다운로드된 후 적용됩니다. 플러그인은 앱이 포그라운드로 전환될 때와 앱이 열려 있는 동안 반복 타이머로 업데이트를 확인합니다. periodCheckDelay 이 간격을 제어합니다(기본값 10분).

유형설명사용 사례
autoUpdate: atBackground포그라운드 체크마다 확인 및 다운로드, 앱이 백그라운드로 전환될 때 적용대부분의 앱; 사용자 방해 최소화
autoUpdate: atInstall신규 설치 또는 네이티브 앱 스토어 업데이트 직후에만 즉시 적용; 그 외에는 다음 방식 사용 atBackground신규 사용자는 최신 버전을 받고, 기존 사용자는 백그라운드 적용
autoUpdate: onLaunch콜드 스타트(종료 → 포그라운드) 시에만 즉시 적용하고, 이후에는 atBackground최신성과 세션 안정성 사이의 균형
autoUpdate: always포그라운드 전환 시마다 확인하고 업데이트가 있으면 즉시 적용긴급 수정 사항, 상태가 단순한 앱
autoUpdate: onlyDownload자동으로 확인 및 다운로드하고, emit updateAvailable자동 적용은 하지 않음자체 업데이트 프롬프트를 표시하거나 호출 시점을 직접 제어하는 앱 set()

다음에서 설정: capacitor.config.ts:

plugins: {
CapacitorUpdater: {
autoUpdate: 'atBackground', // default; true is still accepted
// or: 'off' | 'atInstall' | 'onLaunch' | 'always' | 'onlyDownload'
}
}

충족해야 하는 조건 첫 번째 제출이 승인되기 업데이트가 설치됩니다. 다음을 사용하세요 setMultiDelay 조건을 결합합니다(모든 조건이 충족되어야 함).

조건설명예시
date특정 날짜/시간 이후까지 대기서버 측 릴리스와 조정
background앱이 백그라운드로 전환된 후 최소 시간(ms) 대기빠른 앱 전환 중 적용 방지
nativeVersion최소 네이티브 바이너리 버전 요구호환되지 않는 네이티브 code에서 업데이트 차단
kill다음 앱 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 채널에서.

전략차단허용사용 사례
없음없음모든 대상 번들 버전기본값; 전체 자동 업데이트
메이저major 버전이 더 높은 경우 version_build, 예: 1.2.3 -> 2.0.0동일 major, 예: 1.2.3 -> 1.9.0 또는 1.2.3 -> 1.2.4기존 네이티브 code에 breaking changes가 도달하지 않도록 방지
minor는major 또는 minor 버전이 다른 경우 version_build, 예: 1.2.3 -> 1.3.0major와 minor가 동일한 경우, 예: 1.2.3 -> 1.2.4업데이트를 하나의 네이티브 minor 라인 내에서 유지
patch는major, minor, patch 번호 중 어떤 것이든 변경되는 경우, 예: 1.0.0 -> 1.0.1suffix만 변경되고 MAJOR.MINOR.PATCH 동일하게 유지되는 경우, 예: 1.0.0-beta.1 -> 1.0.0-beta.2 또는 1.0.0+build.1 -> 1.0.0+build.2가장 엄격한 모드: 코어 버전 변경 없음
메타데이터누락됨 min_update_version, 또는 version_build 그 아래대상 번들의 min_update_version 이하인 version_build번들별 커스텀 호환성 규칙

이 체크는 네이티브 베이스라인과 대상 번들을 비교합니다. 네이티브 베이스라인은 version_build로 전송되며, 현재 설치된 다운로드 번들(로 전송)이 아닙니다. version_name.

터미널 창
npx @capgo/cli channel set production --disable-auto-update major

어떻게 bundle이 기기로 전송되는지.

유형설명사용 시점
전체 bundle전체 JS 번들이 다운로드됩니다최초 설치, 대규모 변경 또는 델타 사용 불가 시
델타변경된 파일만 다운로드됩니다대부분의 업데이트; 더 빠르고 대역폭 효율적
터미널 창
# Full bundle (default)
npx @capgo/cli bundle upload --channel production
# Delta updates
npx @capgo/cli bundle upload --channel production --delta
카테고리타입
적용 시점off, atBackground, atInstall, onLaunch, always, onlyDownload
지연 조건date, background, nativeVersion, kill
버전 차단none, major, minor, patch, metadata
전송 방식풀 번들, 델타

Update Types에서 계속하기

“Update Types에서 계속하기” 섹션

사용 중이라면 업데이트 유형 live update 배포를 계획하려면, 다음과 연결하세요 Capgo Live Update Capgo Live Updates의 제품 워크플로우를 보려면, 개요 Overview의 구현 상세를 보려면, 기능 Features의 구현 상세를 보려면, 업데이트 동작 Update Behavior의 구현 세부 사항은 다음과 같고, 시작하기 시작하기 페이지의 구현 상세 내용.