버전 목표
만족하는 버블을만들기 위해 채널, semver 규칙, 메타데이터 전략을 사용하세요.
설치 단계 및 이 플러그인의 전체 마크다운 가이드를 포함하는 설정 지시를 복사하세요.
Capgo 라이브 업데이트는 앱의 자바스크립트 번들을 대체합니다. 즉시, 그러나 __CAPGO_KEEP_0__/Cordova 플러그인, 네이티브 의존성 및 설치된 바이너리에서 컴파일 된 네이티브 프로젝트 구성이 포함 된 앱의 네이티브 부분을 변경할 수는 없습니다. 새로운 번들을 설치된 바이너리에서 없는 네이티브 __CAPGO_KEEP_1__을 기대할 때, 번들은 "네이티브-불일치"로 간주됩니다. 네이티브 part of your app — the Capacitor/Cordova plugins, native dependencies, and native project configuration that are compiled into the installed binary. When a new bundle expects native code that the installed binary doesn’t have, the bundle is 주의: Capgo can still deliver it, but it may crash or misbehave on devices that are still running the older native build.
라이브 업데이트는 JavaScript 번들의 변경만 지원합니다. 네이티브 Capgo을 업데이트해야 하는 경우(플러그인을 추가하거나 제거하거나, __CAPGO_KEEP_1__을 업그레이드하거나, 네이티브 프로젝트 구성 변경)에는 일반적인 앱 스토어 배포 프로세스를 통해 새로운 바이너리 빌드를 제출해야 합니다.
Capgo can send files from your generated web build folder. If the change only affects HTML, CSS, JavaScript, assets, or pure-JavaScript packages bundled into that output, ship it as a live update.
__CAPGO_KEEP_0__ 변경이 native 앱을 업데이트할 때 native 앱 릴리즈를 사용하세요. capacitor.config.tsCapacitor config, native 플러그인 또는 의존성, Capacitor 자체 또는 iOS/Android 프로젝트 파일에 저장된 플러그인 구성. npx cap sync native 프로젝트를 업데이트해야 하는 변경이 있는 경우, 기존에 설치된 기기에서 사용할 수 있도록 하려면 native로 처리하세요. npx cap copy Change
| __CAPGO_KEEP_0__ OTA와 함께 배포할까요? | Ship with Capgo OTA? | HTML, CSS, 앱 자바스크립트, 이미지, 폰트 및 기타 웹 빌드 자산 |
|---|---|---|
| Yes | 그들은 런타임에 웹 번들에서 로드됩니다. | Pure-JavaScript 패키지 변경이 웹 출력에 패키징됩니다. |
| Yes | Yes | The generated JavaScript is part of the web bundle. |
capacitor.config.ts 변경 사항 | 아니요 | Capacitor 설정은 빌드 시간에 네이티브 앱에 읽어들여집니다. |
| Capacitor/Cordova 플러그인을 추가, 제거, 또는 업그레이드하는 경우 | 아니요 | 설치된 네이티브 바이너리가 해당 네이티브 code를 포함해야 합니다. |
| iOS 또는 Android 프로젝트 파일의 변경 사항 | 아니요 | 기존 사용자는 스토어에서 새로운 바이너리를 다운받아야 합니다. |
Capgo은 각 하이브리드 런타임에 전용 업데이터 클라이언트를 제공합니다.
| 플러그인 | 사용할 때 |
|---|---|
@capgo/capacitor-updater | Capacitor iOS/Android 앱 |
@capgo/cordova-updater | Cordova iOS 7+ / Android 13+ 앱 |
@capgo/electron-updater | Electron 데스크톱 앱 |
네이티브 호환성 검사에는 클라이언트 플러그인 여부와 관계없이 수행됩니다. — 이 검사는 설치된 바이너리의 기록된 네이티브 종속성을 비교합니다.
모든 Capacitor 앱은 두 가지 층으로 배포됩니다.
라이브 업데이트는 JavaScript layer만 교체합니다. 새로운 JavaScript가 네이티브 플러그인 또는 API을 호출하고 설치된 바이너리에 컴파일되지 않은 경우, 호출은 런타임에 실패할 수 있습니다. - 앱이 충돌하거나 silent하게 기능이 깨질 수 있습니다. 간단히 말하면: Capgo은 네이티브 code을 업데이트할 수 없으므로, 기기에 설치된 바이너리가 최신 네이티브 code으로 컴파일되지 않은 경우, 기기는 새로운 번들을 안전하게 실행할 수 없습니다.
Capgo이 업로드한 번들을(또는 수동으로 확인할 때) Capgo은 네이티브 패키지 당신의 로컬 프로젝트(당신의 Capacitor/Cordova 플러그인 및 버전)와 현재 채널에 기록된 번들의 네이티브 패키지:
bunx @capgo/cli@latest bundle compatibility com.example.app --channel productionCLI
Package Local Remote Status@capacitor/core 6.1.2 6.1.2 ✅@capacitor/share 6.0.0 6.0.0 ✅@capacitor/camera 6.1.0 — ❌ not in the live bundlepipeline에 대해 bundle releaseType pipeline의 검사를 단일 단어로 축소합니다:
bunx @capgo/cli@latest bundle releaseType com.example.app --channel production# → OTA safe to ship as a live update# → native needs a new app-store build이것으로 릴리스 pipeline을 제어하세요: OTAlive 업데이트를 배포할 때 출력하면 native 빌드를 트리거하세요 native.
__CAPGO_KEEP_0__가 아직도 실행 중인 기기에서 기존의 원시 바이너리에서 발생하는 code의 누락은 충돌이나 기능이 깨지는 문제를 일으킬 수 있습니다 — 업데이트 다운로드 및 적용이 “성공적으로” 완료되었음에도 불구하고. 이로 인해 live update가 live update가 될 수 있으면서도 기존 사용자에게 앱이 깨지는 문제가 발생할 수 있으며, Capgo은 불일치한 번들을 live할 때 경고할 수 있습니다.
Capgo의 자동 롤백 은 JavaScript 오류가 실행되기 전에 발생하는 오류를 잡아낼 수 있지만, __CAPGO_KEEP_0__의 호환성이 없는 경우에는 native로 충돌하거나 native로 충돌하는 문제를 피할 수 없습니다. notifyAppReady() runs, but it isn’t a substitute for shipping compatible native code — a mismatch that crashes later, or crashes natively, can slip past it.
When a bundle needs new native code, build and submit a new binary to the App Store / Play Store (or rebuild with Capgo Cloud Build). Once users update the binary, the bundle’s native dependencies line up and the live update runs correctly.
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__.
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__ --fail-on-incompatible
__CAPGO_KEEP_0__ bundle upload __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
bunx @capgo/cli@latest bundle upload --channel production --fail-on-incompatible호환 가능한 업로드 — 및 확인이 실행되지 않는 경우 (새 채널 또는 원격 메타데이터가 없는 경우) — 변경되지 않습니다. 인터랙티브 터미널에서 Capgo 빌더의 원시 빌드 흐름을 제공합니다; 거부는 실패합니다. ( combination 할 수 없습니다. --ignore-metadata-check.)
게이트 전달 — metadata + --auto-min-update-version
당신이 native build과 함께 번들을 ship할 때, 채널을 전략과 업로드 metadata . __CAPGO_KEEP_0__은 업로드에 대한 호환성 확인을 실행하고, 번들이 새로운 원시 __CAPGO_KEEP_1__이 필요할 때 업데이트를 높여서, 아직 매칭된 원시 빌드를 설치하지 않은 장치가 해당 업데이트를 받지 않도록합니다: --auto-min-update-version. Capgo runs the compatibility check on every upload and, when a bundle needs new native code, raises the update floor so devices that haven’t installed the matching native build don’t receive it:
# one-time: switch the channel to the metadata strategybunx @capgo/cli@latest channel set production com.example.app --disable-auto-update metadata
# from then on, Capgo sets the floor automatically on every uploadbunx @capgo/cli@latest bundle upload --channel production --auto-min-update-version을 사용하세요. See 버전 대상 설정
버전 목표
만족하는 버블을만들기 위해 채널, semver 규칙, 메타데이터 전략을 사용하세요.
롤백
비호환 버블이 출시되면 마지막 호환 빌드로 채널을 되돌려보세요.
업데이트 유형
적용 시간, 지연 조건, 버전 차단이 어떻게 함께 작동하는지 알아보세요.
CLI: 버블
버블 호환성, 릴리즈 타입, 업로드 옵션에 대한 참조입니다.
자연스러운 호환성을 사용하고 있다면 자연스러운 호환성을 사용하고 있다면 실시간 업데이트 보안을 위해 연결하세요. 버전 목표 자연스러운 버전으로 번들을 라우팅하기 위해 불일치한 번들이 배포될 때 복원하기 위해 채널 버전 차단을 이해하고, __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 번들 참조 호환성과 릴리스 타입 명령에 대해 페이지 편집 Capgo CLI bundle reference 채널