채널
설치 단계 및 이 플러그인의 전체 마크다운 가이드가 포함된 설정 프롬프트 복사하기.
라이브 업데이트 채널은 특정 JS 번들 빌드의 앱이 공유될 장치에 구성된 모든 장치에 대한 업데이트입니다. Capgo Live Updates SDK를 설치하세요. 앱 내에서, 어떤 네이티브 바이너리도 해당 채널에 구성된 경우 앱이 시작될 때마다 업데이트가 있는지 확인합니다. 필요 시 이전 빌드로 롤백할 수 있습니다.
기기에서 채널을 선택하는 순서
Section titled “기기에서 채널을 선택하는 순서”기기에서 업데이트를 확인할 때 Capgo는 다음 순서(우선순위가 높은 순서부터)로 채널을 결정합니다.
- 강제 기기 매핑 (Dashboard) – 특정 기기 ID를 채널에 고정하여 긴급한 디버깅 또는 단일 실제 사용자와 제어된 테스트에 사용하세요. 항상 우선합니다.
- Cloud override (per‑device) via Dashboard or API – __CAPGO_KEEP_1__ 변경 시에 Dashboard 또는 API를 통해 생성됩니다. QA 사용자들이 기능/PR 채널을 전환하거나 사용자 문제를 재현하기 위해 사용합니다. 바이너리 재설치로 삭제되지 않으며, 장치 항목 삭제로도 삭제되지 않습니다.
- Plugin
setChannel()local channel – 앱이 호출했을 때setChannel()백엔드가 대상 채널이 자체 할당을 허용하는지 검증합니다. 선택된 채널은 즉시 적용되고 장치에 저장되며 Device Override UI에 표시되지 않습니다.
- Capacitor config
defaultChannel– 만약 __CAPGO_KEEP_0__가 존재하고, 강제/override/로컬 채널이 없다면, 앱은 이 채널에서 시작합니다 (예: ). 테스트 플라이트 / 내부 빌드에 사용되며, 테스터가 자동으로 프리-리리즈 채널에 접속할 수 있도록 합니다. 프로덕션 빌드는 일반적으로 이 설정을 비워둡니다.capacitor.config.*Cloud Default Channel (주요 경로 ~99%의 사용자)beta,qa,pr-123– 만약 Dashboard에서 기본 채널을 표시한다면, 모든 일반 사용자 (강제, Dashboard/__CAPGO_KEEP_0__ override, 플러그인 로컬 채널, config defaultChannel이 없는 경우)는 이 채널에 연결됩니다. 변경하면 즉시 배포하거나 롤백할 수 있습니다. - 새로운 바이너리가 필요하지 않습니다. 플랫폼에 따라 기본 채널을 설정할 수 있습니다 (예: iOS만, Android만, Electron만). 각 기기는 해당 플랫폼에 맞는 기본 채널에 연결됩니다. Cloud Default 채널을 비워두는 것은 허용되며, 이 경우 기기는 1-4 단계에 따라 업데이트를 받습니다. - __CAPGO_KEEP_0__ API
최선의 관행:
- 1–4를 예외/테스트層으로 처리하세요. 클라우드 기본값을 설정할 때, 실제 사용자는 그에 따라 흐릅니다. 기본값을 설정하지 않으면, 사용자가 어떻게 연결하는지(일반적으로 config 또는 per-device override를 통해) 의도적으로 결정해야 합니다.
defaultChannel만들어야 할 설정은 - 테스터에게 직접 배포하는 바이너리에서만 구성하세요. 기본값을 설정하지 않으면, 프로덕션 로직은 대시보드에서 중앙 집중화됩니다.
defaultChannel생산 환경에서 - QA 또는 특정한 디버깅 목적으로 주로 사용하세요.
setChannel()플랫폼(iOS/Android/Electron)을 통해 채널이 비활성화되어 선택될 경우, 채널 선택 프로세스는 해당 채널을 건너뛰고 목록의 다음 채널로 진행합니다.
요약: 강제 > 대시보드/__CAPGO_KEEP_0__ Override > 플러그인
Summary: Force > Dashboard/API Override > Plugin
setChannel()> 클라우드 기본값.defaultChannel기본 채널 동작
Default Channel Behavior
Default Channel Behavior설정하는 것은 선택 사항이지만, 새로운 장치의 기본 경로로 작용하는 경우가 많습니다. 설정하지 않으면, 강제 매핑, 오버라이드, 또는 defaultChannel Capacitor
- 설정할 때 다음 패턴을 기억하세요: 단일 기본값 (가장 일반적인 경우)
- – iOS, Android, Electron이 모두 활성화된 채널이 단일 기본값이 됩니다. 오버라이드가 없는 장치들은 이곳에 연결됩니다. 플랫폼별 기본값
ios-production– 플랫폼별로 채널을 나누면 (예를 들어,android-productioniOS만 활성화된 채널electron-productionAndroid만 활성화된 채널
Electron만 활성화된 채널 defaultChannel 각 플랫폼별로 기본값을 설정하세요. iOS 장치들은 iOS 기본값으로, Android 장치는 Android 기본값으로, Electron 앱은 Electron 기본값으로 연결됩니다. 또한, cloud 기본값과 capacitor.config.* 같은 결정层을 차지합니다. Cloudflare 기본값을 설정하면 Capacitor 구성에서 값의 복제가 필요하지 않습니다. defaultChannel 생산 빌드용으로 비어둘 것입니다. defaultChannel 테스터나 QA에게 배포할 바이너리용으로 예비 채널에서 시작하도록 하려면, Cloudflare 기본값이 다를 경우에도.
대시보드에서 언제든지 기본값을 변경할 수 있습니다. 기본값을 바꾸면 새로운 기기들은 즉시 새로운 라우팅을 따르며 기존 기기는 다음에 체크인할 때 정상적인 우선순위 규칙을 따릅니다.
채널 설정
채널 설정온보딩 중에 첫 번째 채널을 생성합니다(대부분의 팀은 '생산'이라고 이름짓습니다). 그러나 아무것도 잠금되지 않습니다. 채널 이름을 변경하거나 삭제할 수 있습니다. 추가 채널을 추가하려면:
- Capgo 대시보드의 '채널' 섹션으로 이동하세요.
- 새 채널 버튼을 클릭하세요.
- 채널 이름을 입력하고 '생성' 버튼을 클릭하세요.
채널 이름은 마음대로 지어질 수 있습니다. 일반적인 전략은 개발 단계와 채널 이름을 일치시키는 것입니다.
Development- 로컬 기기나 에뮬레이터에서 실시간 업데이트를 테스트하는 데 사용합니다.QA- QA 팀이 업데이트를 확인하기 전에 더 넓은 릴리즈 전에 확인할 수 있도록 하기 위해Staging- 실제 운영 환경과 유사한 환경에서 최종 테스트하기 위해Production- 앱 스토어에서 사용자에게 제공하는 앱의 버전을 위해
앱에서 채널을 구성하는 방법
앱에서 채널을 구성하는 방법 섹션채널이 생성되면, 앱을 구성하여 해당 채널을 듣도록 해야 합니다. 이 예에서는 Development 채널을 사용합니다. 채널.
채널을 구성하기 위해 capacitor.config.ts (또는 capacitor.config.json) plugins 파일을 열어보세요. 채널 섹션 아래에 defaultChannel 옵션적으로 설정할 수 있습니다. 테스트 빌드 (내부 / QA)에서 사용하는 경우에만 Cloud Default를 사용하도록 하세요. 프로덕션 빌드에서는 Cloud Default를 사용하지 않도록 하세요. 사용자가 Cloud Default를 따르도록 하기 위해.
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = { plugins: { CapacitorUpdater: { // For a QA/TestFlight build – testers start on the Development channel automatically. defaultChannel: 'Development', // Production builds usually omit this so users attach to the Cloud Default channel. }, },};다음으로, 웹 앱을 빌드하고 실행하세요. npx cap sync 업데이트된 config 파일을 iOS, Android, Electron 프로젝트로 복사하세요. 이 동기화 단계를 건너뛰면 이전에 설정된 채널을 계속 사용합니다.
채널 옵션 및 전략
채널 옵션 및 전략채널은 업데이트를 받을 수 있는 사람과 업데이트를 전달하는 방법을 제어하는 여러 옵션이 있습니다. 가장 중요한 것은 아래에 나열되어 있습니다. 이 옵션을 웹 앱, CLI, 또는 Public API에서 구성할 수 있습니다.
- 기본 채널: 새로운 장치가 연결될 때 채널 또는 플랫폼에 특정한 채널을 표시할 수 있습니다. '기본 채널 동작'을 참조하십시오.
- 플랫폼 필터:
iOS,Android, 또는Electron장치당 채널 수 - native 하위 버전으로 자동 다운그레이드 방지: 장치의 native 앱 버전이 채널의 버전보다 새로운 경우 업데이트를 보내지 않습니다.
- 개발 빌드 허용: 개발 빌드를 업데이트할 수 있도록 허용합니다. (테스트에 유용합니다.)
- 에뮬레이터 장치 허용: 에뮬레이터/시뮬레이터에 업데이트를 허용합니다. (테스트에 유용합니다.)
- 장치 자체 할당 허용: 앱이 런타임에 이 채널로 switch 할 수 있도록 함
setChannel이 기능이 비활성화되면setChannel자동 업데이트 전략 비활성화
자동 업데이트 전략 비활성화
이 옵션을 사용하여 채널이 자동으로 전달할 수 있는 업데이트의 종류를 제한할 수 있습니다. 옵션:major: 장치의 원시 베이스 라인보다 높은 메이저 버전을 가진 대상 패키지가 블록됩니다 (
- ). 예를 들어:
version_build블록됩니다.1.2.3 -> 2.0.0허용됩니다.1.2.3 -> 1.9.0minor: 대상 패키지의 메이저 또는 미니 버전이 - 와 다르면 블록됩니다. 예를 들어:
version_build블록됩니다.1.2.3 -> 1.3.0차단되었습니다.1.2.3 -> 1.2.4허용됩니다. - patch: 가장 엄격한 모드입니다. 메이저, 마이너, 패치 번호의 변경은 모두 차단합니다. 서브픽스만 변경할 수 있습니다. 예시:
MAJOR.MINOR.PATCH허용됩니다.1.0.0-beta.1 -> 1.0.0-beta.2허용됩니다.1.0.0+build.1 -> 1.0.0+build.2차단됩니다.1.0.0 -> 1.0.1metadata: 각 패키지에 최소한의 업데이트 버전 메타데이터가 필요합니다. __CAPGO_KEEP_0__를 사용하여 - metadata: Require a minimum update version metadata on each bundle. Configure via CLI using
--min-update-version없음: __CAPGO_KEEP_0__에 따라 모든 업데이트에 따라--auto-min-update-versionsemver 호환성 - 에 따라 허용됩니다. 에 따라 허용됩니다..
이 전략은 채널의 목표 배포본을 원시 기준선으로 비교합니다. 원시 기준선은 __CAPGO_KEEP_0__으로 전송된 것과 다릅니다. version_build현재 다운로드한 배포본은 __CAPGO_KEEP_0__으로 전송된 것과 다릅니다. version_name.
Disable updates strategy에 대한 자세한 내용과 예제는 /docs/cli/commands/#disable-updates-strategy에서 확인할 수 있습니다.
예(CLI):
# Block major updates on the Production channelnpx @capgo/cli@latest channel set production com.example.app \ --disable-auto-update major
# Allow devices to self-assign to the Beta channelnpx @capgo/cli@latest channel set beta com.example.app --self-assignYour App에서 setChannel()을 사용하는 경우
Using setChannel() from Your AppThe setChannel() 이 메소드는 앱이 런타임에 채널을 전환할 수 있도록 허용합니다. 이 기능은 특히 다음 경우에 유용합니다.
- QA/테스트 메뉴에서 테스터가 채널을 전환할 수 있도록 해주기 위해
- Beta 프로그램 옵인 플로우에서 채널을 전환할 수 있도록 해주기 위해
- 기능 플래그 구현
- A/B 테스트 시나리오
import { CapacitorUpdater } from '@capgo/capacitor-updater';
// Switch to the beta channelawait CapacitorUpdater.setChannel({ channel: 'beta' });
// Optionally trigger an immediate update check after switchingawait CapacitorUpdater.setChannel({ channel: 'beta', triggerAutoUpdate: true});__CAPGO_KEEP_0__ 채널 assign
__CAPGO_KEEP_0__ 채널 assignCapgo에서 live update를 배포하려면, 새로운 JS 번들 빌드를 업로드하고 채널에 assign해야합니다. Capgo에서 단일 단계로 수행할 수 있습니다: CLI
npx @capgo/cli@latest bundle upload --channel=Development__CAPGO_KEEP_0__에서 빌드된 웹 자산을 업로드하고, 채널에 대한 새로운 번들을 활성 빌드로 설정합니다. 채널에 구성된 앱은 업데이트를 받을 때까지 다음에 업데이트를 확인할 때 업데이트를 받습니다. Development __CAPGO_KEEP_0__에서 빌드에 채널 assign할 수도 있습니다. 빌드 메뉴 아이콘을 클릭하고 '채널 assign'를 선택하여 채널을 선택하세요.
Capgo 채널 버전 및 채널
__CAPGO_KEEP_0__ 채널 버전 및 채널
__CAPGO_KEEP_0__의 번들은 앱에 전역적이며, 채널에 특정되지 않습니다. 동일한 번들이 여러 채널에 assign될 수 있습니다.Capgo dashboard.
버전 관리를 할 때, 우리는 __CAPGO_KEEP_0__의 Semver Tester와 채널별 빌드에 대한 전제 릴리스 식별자를 사용하는 의미적 버전 관리를 추천합니다. semantic versioning with Capgo’s Semver Tester 이 방법은 여러 가지 이점을 제공합니다. 1.2.3-beta.1.
빌드 간의 관계를 명확하게 전달합니다.
- __CAPGO_KEEP_0__는 명확하게 전제 릴리스입니다.
1.2.3-beta.1채널별 버전 번호를 재사용할 수 있어 혼란을 줄입니다.1.2.3. - 명확한 롤백 경로를 제공합니다. __CAPGO_KEEP_0__에서 롤백이 필요하면, 이전 안정 버전은 __CAPGO_KEEP_0__입니다.
- 채널별 버전 관리를 위한 일반적인 채널 설정과 버전을 일치시키는 방법은 다음과 같습니다.
1.2.3채널:1.2.2__CAPGO_KEEP_0__
__CAPGO_KEEP_0__
Development__CAPGO_KEEP_0__1.2.3-dev.1,1.2.3-dev.2및 기타QA채널:1.2.3-qa.1,1.2.3-qa.2및 기타Staging채널:1.2.3-rc.1,1.2.3-rc.2및 기타Production채널:1.2.3,1.2.4Using
pre-release 식별자와 함께 semver 사용하는 것은 권장되는 방법이지만, 엄격히 필요하지는 않습니다. 중요한 것은 빌드 간의 관계를 명확하게 전달하고 팀의 개발 프로세스와 일치하는 버전 관리 방식을 찾는 것입니다. 실시간 업데이트 롤백 실시간 업데이트 롤백
Section titled “
Rolling Back a Live Update배포 중인 업데이트에서 버그를 소개하거나 다시 되돌아야 하는 경우, 이전 빌드로 쉽게 되돌아갈 수 있습니다. 대시보드의 "채널" 섹션에서:
- 원하는 채널의 이름을 클릭하세요
- __CAPGO_KEEP_0__에서 원하는 빌드를 찾고 crown 아이콘을 클릭하세요

- 이동을 확인하세요
선택한 빌드는 즉시 해당 채널에서 활성 빌드로 다시 설정됩니다. 앱은 업데이트를 확인할 때 다음으로 롤백된 버전을 받습니다.
자동 배포
자동 배포더 복잡한 워크플로우를 위해, CI/CD pipeline에서 라이브 업데이트의 배포를 자동화할 수 있습니다. 빌드 프로세스에 Capgo을 통합하면, 특정 branch로 푸시하거나 새로운 릴리즈를 만들 때마다 새로운 번들을 자동으로 업로드하고 채널에 assign할 수 있습니다.
자동화된 배포 CI/CD Integration 자동화된 Capgo 라이브 업데이트에 대한 자세한 내용은 docs를 참조하세요.
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__
__CAPGO_KEEP_0__ __CAPGO_KEEP_1____CAPGO_KEEP_0__
- Install the Capgo SDK in your app
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
__CAPGO_KEEP_0__
__CAPGO_KEEP_0__채널은 개발 단계만을 위한 것이 아닙니다. 사용자 구분을 위한 강력한 도구로, 다음 기능을 제공합니다.
- 다양한 사용자 계층에 대한 기능 플래그
- A/B 테스트
- 기능 출시를 위한 단계적 출시
- 베타 테스트 프로그램
이 고급 사용 사례를 구현하는 방법에 대한 안내서를 참조하세요. 기능 플래그 및 A/B 테스트를 위한 사용자 구분을 위한 플랜 및 채널.
채널에서 계속하세요
채널에서 계속하세요채널을 사용하여 채널 라우팅과 단계적 출시를 계획하고 있습니다. 채널을 연결하세요 채널 채널의 구현 세부 정보에 대해 채널 채널의 구현 세부 정보에 대해 베타 테스트 솔루션 베타 테스트 솔루션의 제품 워크플로우에 대해 버전 목표 솔루션 버전 목표 솔루션 및 Capgo 환경 최적화: 단일 모바일 앱 ID로 스테이징 Capgo 환경 최적화: 단일 모바일 앱 ID로 스테이징의 실제 상황에 대해