채널
설치
Live Update 채널은 특정 JS 번들 빌드에 대한 링크를 제공하며, 그 채널을 듣기 위해 업데이트를 기다리는 모든 장치에 공유됩니다. 그 채널을 듣기 위해 업데이트를 기다리는 장치가 Live Update Live Updates __CAPGO_KEEP_1__을 설치하면, 앱이 시작될 때마다 업데이트가 있는지 확인합니다. 채널이 가리키는 빌드를 언제든지 변경할 수 있고, 이전 빌드로 롤백할 수도 있습니다. install the Capgo Live Updates SDK 채널은 업데이트를 받을 자격을 제어하지만, 번들을 보호하지 않습니다. 채널이 개인화되거나 자체 할당이 비활성화되어도, __CAPGO_KEEP_0__에 업로드된 암호화되지 않은 번들은 여전히 공개 자산으로 취급되어야 합니다. 암호화는 업데이트를 전달하는 경로와 authenticity를 보호하지만, 배포된 앱을 분산시키면 충분한 노력으로 배포된 앱을 역공학할 수 있습니다. 공개 키는 클라이언트에 포함되어 있기 때문입니다. 자세한 내용은
기기에서 채널을 선택하는 방법 (순위)
기기에서 채널을 선택하는 방법 (순위)기기에서 업데이트를 확인할 때, Capgo은 다음 순서(우선순위가 가장 높은 순서)로 채널을 사용합니다:
- 강제 기기 매핑 (대시보드) – 특정 기기 ID를 채널에 매핑하여 강제로 디버깅하거나 단일 실제 사용자와 제어된 테스트를 수행합니다. 항상 이 우선순위가 가장 높습니다. Capgo은 마지막 override 쓰기 후 90일이 지난 후 매핑을 삭제합니다. 자세한 내용은 콘솔 및 API override는 90일 후 만료됩니다.
- 클라우드 오버라이드 (장치별) - 대시보드 또는 API – 대시보드 또는 API에서 기기의 채널을 변경할 때 생성됩니다. QA 사용자 간의 기능/PR 채널 또는 사용자 문제를 재현하기 위해 채널을 전환할 때 사용합니다. 바이너리 재설치로 삭제되지 않으며 기기 override 삭제로 삭제됩니다. 동일한 90일 보존 정책이 적용됩니다.
- 플러그인
setChannel()지속 업데이트 채널 – 앱이setChannel()을 호출하고 백엔드가 대상 채널이 자체 할당을 허용하는지 확인할 때 생성됩니다. 선택된 채널은 기기에 저장되어 즉시 적용되고 Device Override UI에 표시되지 않습니다.
- Capacitor 설정
defaultChannel(test build default) – 만약에 존재할 경우capacitor.config.*및 force/override/local channel이 존재하지 않는 경우, 앱은 이 채널에서 시작합니다 (예:beta,qa,pr-123). 테스트 플라이트 / 내부 빌드에 사용하여 테스터가 자동으로 프리 리리즈 채널에 도착하도록 합니다. 프로덕션 빌드는 일반적으로 이 설정을 비워둡니다. - Cloud Default Channel (primary path ~99% of users) – 대시보드에서 기본 채널을 표시하면 모든 일반 사용자 (force, 대시보드/API override, 플러그인 local channel, config defaultChannel이 없는 사용자)가 이 채널에 연결됩니다. 기본 채널을 변경하면 즉시 배포 또는 롤백할 수 있습니다 - 새로운 바이너리가 필요하지 않습니다. 플랫폼에 따라 기본 채널을 설정할 경우 (예: iOS 전용, Android 전용, Electron 전용), 각 기기는 해당 플랫폼에 맞는 기본 채널에 연결됩니다. Cloud Default 채널을 비워두는 것은 허용되며, 이 경우 기기는 1-4 단계를 따라야 업데이트 받을 수 있습니다.
권장 방법:
- 1-4 단계를 예외 / 테스트層으로 처리하세요. 대시보드에서 Cloud Default 채널을 설정하면 실제 사용자가 이 채널에 연결되어야 합니다. Cloud Default 채널을 설정하지 않으면 사용자가 어떻게 연결되는지에 대해 의도적으로 결정해야 합니다 (일반적으로 config 또는 per-device overrides를 통해).
defaultChannelOnly configure - 테스터에게 명시적으로 배포하는 바이너리에서만
defaultChannel사용하세요. Cloud Default 채널을 비워두면 프로덕션 로직이 대시보드에 중앙화됩니다. - Use
setChannel()실제 운영 환경에서 적극적으로 사용하지 않으며, QA 또는 특정 진단 목적으로 주로 사용됩니다.
플랫폼(iOS/Android/Electron)을 통해 채널이 비활성화된 경우, 채널이 선택되지 않으면 선택 프로세스는 목록을 계속 진행합니다.
강점: 강제 > 대시보드/API 강제 > 플러그인Override
setChannel()지역 채널 > 설정defaultChannel> Cloud 기본값.
Console 및 API 설정은 90일 후 만료됩니다.
콘솔 및 API 오버라이드가 90일 후에 만료됩니다.Forced mappings and Dashboard or Public API channel overrides are stored as per-device assignments in Capgo. A cleanup job deletes those assignments. Override가 마지막으로 기록된 후 90일이 지난 후. 업데이트 확인은 그 시계를 초기화하지 않습니다. Override를 다시 기록하거나(또는 삭제하는) 그 시계를 변경합니다.
이것은 장치 인벤토리 보존과 다릅니다.. 장비가 90일 동안 Capgo에 연결되지 않은 장비를 인벤토리에서 제거합니다. Override cleanup은 장비가 활성 상태인 경우에도 매핑을 제거합니다.
이 청소 작업으로 제거되지 않는 assignment에 대해:
- Set
defaultChannelincapacitor.config.*(재설치 시 살아남음; 이후 변경을 위해 새로운 네이티브 바이너리가 필요함). - Call
setChannel()from the app. 플러그인 5.34.0 / 6.34.0 / 7.34.0 / 8.0.0 이상에서, 이 assignment은 지역적이고 이 청소 작업으로 제거되지 않습니다. 앱을 재설치하면 제거되므로, 앱은 다시 호출해야 합니다.setChannel()The channel
Devices Devices tab and the device Override UI only list console and Public API assignments. They do not list every device on the channel, and they do not list local setChannel() again

기본 채널 동작
기본 채널 동작 섹션클라우드 기본 설정은 선택 사항이지만, 새로운 기기에 대한 기본 경로로 사용됩니다. 기본 설정이 없으면, 강제 매핑, 오버라이드, 또는 __CAPGO_KEEP_0__ 구성에서 지정된 패턴에만 맞는 기기가 업데이트를 받습니다. 기본 설정을 설정할 경우, 다음 패턴을 고려하세요: defaultChannel Capacitor 설정에서 업데이트를 받을 것입니다. Live Update를 기본으로 설정할 때는 다음 패턴을 기억하세요.
- – iOS, Android, Electron이 모두 활성화된 채널이 단일 기본 설정이 됩니다. 오버라이드가 없는 기기는 이 채널에 연결됩니다. 플랫폼별 기본 설정
- – 플랫폼별 채널을 나누면(예를 들어, iOS만 활성화된 채널, Android만 활성화된 채널, Electron만 활성화된 채널 –
ios-production–android-production–electron-productioniOS 기기들은 iOS 기본값으로, Android 기기들은 Android 기본값으로, Electron 앱들은 Electron 기본값으로 이동합니다.
cloud 기본값을 기억하세요. defaultChannel in capacitor.config.* both occupy the same decision layer. If you set a cloud default, you don’t need to duplicate the value in your Capacitor config—leave it as is. defaultChannel 이미지 채널에서 기본값을 변경할 수 있습니다. 채널을 열고, defaultChannel 앱 설정 관리
으로 이동하면 앱 정보로 이동합니다. 기본값은 이제 채널 페이지에서 토글로 표시되지 않습니다. 기본값을 바꾸면 새로운 기기는 즉시 새로운 라우팅을 따르며 기존 기기는 다음에 체크인할 때 정상적인 우선순위 규칙을 따릅니다. 채널 설정__CAPGO_KEEP_0__
__CAPGO_KEEP_0__
설정 Channel온보딩 중에 첫 번째 채널을 생성합니다(대부분의 팀은 '생산'이라고 이름을 지어줍니다). 그러나 모든 것이 잠금 해제되어 있으므로 채널 이름을 변경하거나 삭제할 수 있습니다. 추가 채널을 생성하려면:
- Capgo 대시보드의 '채널' 섹션으로 이동하세요
- 새 채널 버튼을 클릭하세요
- 채널 이름을 입력하고 '생성' 버튼을 클릭하세요
채널 이름은 마음대로 지어질 수 있습니다. 일반적인 전략은 개발 단계와 채널을 매칭시키는 것입니다. 예를 들어:
Development- 로컬 장치나 에뮬레이터에서 라이브 업데이트 테스트QA- QA 팀이 업데이트를 더 넓은 릴리스 전에 검증하기 위해Staging- 실제 환경과 유사한 환경에서 최종 테스트Production- 앱 스토어에서 사용자에게 제공되는 앱 버전
앱에서 채널 구성
설정 Channel채널을 생성한 후, 채널에 맞게 앱을 구성해야 합니다. 이 예제에서는 채널을 사용합니다. Development 채널.
열어보세요. capacitor.config.ts (또는 capacitor.config.jsonHTML 텍스트 조각입니다. (parent key `compare_step_build_text`). 페이지/영역: Capgo 마케팅 웹사이트. 역할: 긴 마케팅 또는 법률 문단. 표시되는 곳: page alternatives/expo.astro, page alternatives/voltbuilder.astro. 메시지 키 `compare_step_build_text` (Compare Step Build Text). plugins ) 파일. 채널에 맞게 앱을 구성하는 데 사용하는 파일입니다. defaultChannel for 클립보드 복사 다음으로, 웹 앱을 빌드하고
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. }, },};Copy to clipboard npx cap sync Next, build your web app and run
채널 옵션 및 전략
채널 옵션 및 전략Channels have several options that control who can receive updates and how updates are delivered. The most important ones are below. You can configure these from the web app, the CLI, or the Public API.
- 기본 채널: 새로운 장치가 연결될 때 채널 또는 플랫폼에 특정한 채널을 선택할 수 있습니다. 콘솔에서 이 기능은 App Information (앱 설정에서 관리합니다 채널 페이지에서)
- 기본 채널 동작
iOS,Android, orElectron플랫폼 필터: - 또는
- Allow development builds: Permit updates to development builds (useful for testing). CLI:
--dev/--no-dev. - Allow production builds: Permit updates to production (store) builds. Leave this on for channels that serve real users. CLI:
--prod/--no-prod. - 개발자 빌드 허용: 테스트에 유용한 개발자 빌드 업데이트를 허용합니다. CLI:
--emulator/--no-emulator. - 생산 빌드 허용: 실제 사용자에게 서비스를 제공하는 채널에 대해 생産 빌드 업데이트를 허용합니다. CLI:
--device/--no-device. - 에뮬레이터 장치 허용: 테스트에 유용한 에뮬레이터/시뮬레이터 업데이트를 허용합니다. __CAPGO_KEEP_0__:
setChannel. 만약 비활성화된 경우,setChannel이 채널에서 실패합니다. CLI:--self-assign/--no-self-assign. - 다운로드 형식: 장치가 전체 zip, 변경된 델타 파일만, 또는 두 가지 모두 (
all,zip,delta,zip_from_builtin,delta_from_builtin). See 다운로드 형식 콘솔 드롭다운과 각 모드가 유용한지 보기 위해
진보적 출시
진보적 출시채널은 안정적인 번들을 유지하면서 점진적으로 고정된 장치 그룹에 별도의 출시 목표를 노출할 수 있습니다. 진보적 출시 라이브 업데이트 모델, 대시보드 워크플로우, API 필드, 및 CLI 명령.
자동 업데이트 전략 비활성화
Disable Auto Update strategies이 채널이 자동으로 전달할 업데이트의 종류를 제한하세요.
- major: 기기 기본 버전보다 높은 주요 버전의 대상 패키지를 차단합니다.
version_build예시:1.2.3 -> 2.0.0허용됩니다.1.2.3 -> 1.9.0실시간 업데이트 채널은 허용됩니다. - 예시:
version_build. Example:1.2.3 -> 1.3.0허용됩니다.1.2.3 -> 1.2.4실시간 업데이트 채널은 허용됩니다. - 예시:
MAJOR.MINOR.PATCH동일하게 유지됩니다. 예시:1.0.0-beta.1 -> 1.0.0-beta.2Live Update1.0.0+build.1 -> 1.0.0+build.2Live Update1.0.0 -> 1.0.1Live Update - metadata: 각 패키지에 최소 업데이트 버전 메타데이터가 필요합니다. CLI을 통해 구성하십시오.
--min-update-versionor--auto-min-update-versionLive Update - Live Update Live Update.
Live Update version_buildLive Update version_name.
Live Update를 위한 자세한 내용과 예제는 Disable updates strategy 페이지(/docs/cli/commands/#disable-updates-strategy)에서 확인할 수 있습니다.
예시 (CLI). 채널은 이미 존재해야 합니다 (channel set Live Update
# 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-assign
# Production channel: store builds on real devices, no emulatorsnpx @capgo/cli@latest channel set production com.example.app --prod --device --no-emulator앱에서 setChannel() 사용
앱에서 setChannel() 사용이 setChannel() 앱이 런타임에 채널을 프로그래밍적으로switch할 수 있도록하는 메소드입니다. 이 기능은 특히 다음의 경우에 유용합니다:
- QA/테스트 메뉴
- 베타 프로그램 옵인 플로우
- 기능 플래그 구현
- 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});채널에 번들을 Assign하는 방법
Assigning a Bundle to a Channellive update을 배포하려면, 새로운 JS 번들을 업로드하고 채널에 Assign해야 합니다. Capgo CLI를 사용하여 한 번에 업로드하고 Assign할 수 있습니다.
npx @capgo/cli@latest bundle upload --channel=Development이것은 웹 자산을 업로드하고 채널에 새로운 번들을 활성화합니다. 채널에 연결된 앱은 다음 업데이트를 받을 것입니다. Development 채널
Capgo Capgo의 '번들' 섹션에서 빌드를 업로드하고 Assign할 수 있습니다. 메뉴 아이콘을 클릭하고 'Assign to Channel'을 선택하여 빌드에 채널을 Assign할 수 있습니다.
번들 버전과 채널
Bundle Versioning and Channels앱 내에서 Capgo의 채널은 전역적이지만, 개별 채널에 특정되지 않습니다. 동일한 채널에 여러 채널을 할당할 수 있습니다.
버전을 관리할 때, __CAPGO_KEEP_0__의 Semver Tester와 함께 의미적 버전 관리를 추천합니다. semantic versioning with Capgo의 Semver 테스터 CI에서, 로컬 버전이 업로드된 경우, (optionally, __CAPGO_KEEP_0__의 채널에 연결된 버전을 __CAPGO_KEEP_0__에서 업데이트하여, 무료 이름을 찾을 때까지) 사용합니다. 1.2.3-beta.1.
CI에서 로컬 버전이 이미 업로드된 경우 사용 npx @capgo/cli@latest bundle upload --auto-bump CI/CD Integration major, minor, patch/fix, metadata, or aiCLI은 채널과 연결된 번들을 통해 무료 이름을 찾을 때까지 업데이트됩니다. aiCI/CD Integration patch 라이브 업데이트의 이전 버전이 없으므로 Capgo 버전을 사용할 수 없습니다. 이전 버전과 함께 사용할 수 없습니다. --bundle. See CI/CD 통합 그리고 CLI 참조.
이 접근 방식에는 다음과 같은 이점이 있습니다:
- 빌드 간의 관계를 명확하게 전달합니다.
1.2.3-beta.1명백하게는 이전 버전입니다.1.2.3. - 다른 채널에서 버전 번호를 재사용할 수 있으므로 혼란을 줄입니다.
- 역할백 경로를 명확하게 활성화합니다. 만약
1.2.3에서 역할백이 필요하다면1.2.2이전 안정 버전은
이것은 채널 설정의 일반적인 예입니다.
Development채널:1.2.3-dev.1,1.2.3-dev.2, etc.QA채널:1.2.3-qa.1,1.2.3-qa.2, etc.Staging채널:1.2.3-rc.1,1.2.3-rc.2, etc.Production채널:1.2.3,1.2.4, etc.
사용 semver with pre-release identifiers __CAPGO_KEEP_0__를 롤백하는 방법
Live Update를 롤백하는 방법
Live Update을 되돌리는 방법If you deploy a live update that introduces a bug or otherwise needs to be reverted, you can easily roll back to a previous build. From the “Channels” section of the dashboard:
- 원하는 채널의 이름을 클릭하세요.
- 원하는 빌드를 찾고 crown 아이콘을 클릭하세요.

- 작업을 확인하세요.
선택한 빌드는 즉시 해당 채널의 활성 빌드로 다시 설정됩니다. 앱은 업데이트를 확인할 때 다음으로 롤백된 버전을 받습니다.
배포 자동화
배포 자동화더 복잡한 워크플로우를 위해, CI/CD pipeline의 일부로 live update 배포를 자동화할 수 있습니다. Capgo을 빌드 프로세스에 통합하면, 특정 branch로 푸시하거나 새로운 릴리즈를 만들 때마다 새로운 번들을 자동으로 업로드하고 채널에 assign할 수 있습니다.
CI/CD 통합 CI/CD 통합 docs to learn more about automating Capgo live updates.
CI/CD 통합에 대한 더 자세한 내용은 __CAPGO_KEEP_0__ live updates를 자동화하는 방법에 대한 문서를 확인하세요.
제목: 최소 권한의 PR 미리보기라이브 채널을 사용하세요 앱 미리보기 조직 관리자가 미리보기 앱에만 제한된 보안 API 키를 생성하고 선택하세요.
- API 키를 생성하는 방법 앱 미리보기. See API 키.
- __CAPGO_KEEP_0__ 키를 사용하지 마세요.
pr-123__CAPGO_KEEP_0__ 키를 사용하지 마세요.--default,--self-assignPR 번들 업로드 및 승격을 한 명령어로 처리하고 PR가 닫히면 소유한 채널과 번들을 삭제하세요:--delete-linked-bundle-on-upload. - PR 번들 업로드 및 승격을 한 명령어로 처리하고 PR가 닫히면 소유한 채널과 번들을 삭제하세요:
APP_ID="com.example.app"PREVIEW_CHANNEL="pr-123"BUNDLE_VERSION="1.2.3-pr.123"
npx @capgo/cli@latest bundle upload "$APP_ID" \ --apikey "$CAPGO_PREVIEW_KEY" \ --path ./dist \ --channel "$PREVIEW_CHANNEL" \ --bundle "$BUNDLE_VERSION"
npx @capgo/cli@latest channel delete "$PREVIEW_CHANNEL" "$APP_ID" \ --apikey "$CAPGO_PREVIEW_KEY" \ --delete-bundle \ --success-if-not-foundbundle upload --channel 하나의 흐름에서 미리 설치된 채널을 생성하고, 업로드하고, 승격합니다. 정리도 원자적이고 소유권을 확인합니다: 키는 자신이 생성한 채널과 연결된, 공유되지 않은 배포본만 삭제할 수 있습니다. 기존의 기본 채널, 다른 미리 보기 키의 채널, 다른 키의 배포본을 변경, 승격, 삭제할 수 없습니다.
리뷰어들이 QR code 또는 미리 보기 URL이 필요하면 앱 관리자가 앱에 대해 미리 보기 기능을 한 번만 활성화해야 합니다:
npx @capgo/cli@latest app set "$APP_ID" --previewnpx @capgo/cli@latest get-qr "$APP_ID" --channel "$PREVIEW_CHANNEL" --apikey "$CAPGO_PREVIEW_KEY" --url미리 보기 키는 앱 설정 권한이 없기 때문에 미리 보기 기능을 활성화할 수 없습니다. GitHub Actions에서, 비밀번호가 포함된 미리 보기 작업을 실행하고 pull_request,하지 않 pull_request_target,하고, 동일한 저장소 PR에 제한 github.event.pull_request.head.repo.full_name == github.repository.
장치에 배포
Deploying to a Device채널을 이해한 후, 실제 장치에 라이브 업데이트를 배포하기 시작할 준비가 되었습니다. 기본 프로세스는 다음과 같습니다.
- Capgo SDK을 앱에 설치하세요
- 원하는 채널을 듣기 위해 앱을 구성하세요
- 업데이트를 할 채널에 빌드를 업로드하고 Assign하세요
- 앱을 실행하고 업데이트를 기다리세요!
자세한 설명을 위해서는 Deploying Live Updates 설명서를 참조하세요. 업데이트를 즐기세요! 고급 채널 사용: 사용자 구분
사용자 계층별로 기능 플래그를 제공합니다.
- A/B 테스트를 제공합니다.
- A/B 테스트
- 기능 출시를 위한 점진적인 롤아웃
- 베타 테스트 프로그램
이 고급 사용 사례를 구현하는 방법에 대한 안내를 참조하세요: 기능 플래그 및 A/B 테스트를 위한 사용자 구분 및 채널 설정 방법.
채널에서 계속 진행하세요
채널에서 계속 진행하는 방법채널을 사용하고 있다면 채널 컨텍스트: Capgo 릴리스 채널 기능 이름. 페이지/영역: Capgo 솔루션 마케팅 페이지. 역할: 짧은 UI 레이블 또는 네비게이션 아이템. 채널 채널에서 구현 세부 정보에 대한 설명입니다. 채널 채널에 대한 구현 세부 정보를 위해 베타 테스트 솔루션 베타 테스트 솔루션에 대한 제품 워크플로를 위해 버전 목표 솔루션 버전 목표 솔루션에 대한 제품 워크플로를 위해, 그리고 Capgo 환경 최적화: 단일 모바일 앱 ID를 사용한 스테이징 Capgo 환경 최적화: 단일 모바일 앱 ID를 사용한 스테이징에 대한 실제 상황을 위해