컨텐츠로 건너뛰기

채널

Capgo의 채널은 앱 업데이트를 관리하는 핵심 메커니즘입니다. 채널은 사용자가 업데이트를 받는 방법과 시간을 제어할 수 있게 해주며 A/B 테스트, 단계별 출시, 플랫폼별 업데이트와 같은 기능을 지원합니다.

배포 버전 제어

  • : 사용자가 받는 배포 버전을 지정합니다.플랫폼 대상
  • : iOS/Android/Electron과 같은 특정 플랫폼을 대상으로 합니다.업데이트 정책
  • : 업데이트가 전달되는 방법을 제어합니다.장치 제한
  • : 업데이트에 접근할 수 있는 장치를 관리합니다.__CAPGO_KEEP_0__의 채널은 앱 업데이트를 관리하는 핵심 메커니즘입니다. 채널은 사용자가 업데이트를 받는 방법과 시간을 제어할 수 있게 해주며 A/B 테스트, 단계별 출시, 플랫폼별 업데이트와 같은 기능을 지원합니다.

채널 설정 옵션

채널 설정 옵션 섹션
  • 공개: 새로운 장치에 대한 기본 채널 설정
  • : 장치의 네이티브 앱 버전이 업데이트된 채널 버전보다 새로운 경우 업데이트를 방지합니다 (예: 장치가 네이티브 앱 버전 1.2.3에 있지만 채널에 업데이트된 버전 1.2.2가 있습니다): 업데이트의 주요 버전, 부 버전, 버전 번호, 또는 업데이트를 제어합니다
  • : 특정 플랫폼에 대해 활성화/비활성화: 장치가 채널을 선택할 수 있도록 허용
  • : 장치가 채널을 선택할 수 있도록 허용: 장치가 채널을 선택할 수 있도록 허용
  • : 장치가 채널을 선택할 수 있도록 허용: 장치가 채널을 선택할 수 있도록 허용
  • allow_emulator: 에뮬레이터 기기에서 업데이트를 허용하세요
  • allow_dev: 개발 빌드에서 업데이트를 허용하세요
  1. Testing Channel: 내부 검증을 위한 테스트 채널을 유지하세요
  2. Staged Rollout: 여러 채널을 사용하여 점진적인 업데이트를 배포하세요
  3. Platform Separation: iOS, Android 및 Electron에 필요한 경우 별도의 채널을 생성하세요
  4. 버전 관리 (버전): 사용 명확한 업데이트 경로를 위해 엔드포인트

엔드포인트

POST

https://api.capgo.app/channel/

요청 본문

type disable_update = "major" | "minor" | "version_number" | "none"
interface ChannelSet {
app_id: string
channel: string
version?: string // bundle (version) name
public?: boolean
disableAutoUpdateUnderNative?: boolean
disableAutoUpdate?: disable_update
ios?: boolean
android?: boolean
electron?: boolean
allow_device_self_set?: boolean
allow_emulator?: boolean
allow_dev?: boolean
}

Example Request

예제 요청
터미널 창
curl -X POST \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0",
"public": false,
"disableAutoUpdate": "minor",
"ios": true,
"android": true,
"electron": true,
"allow_emulator": true
}' \
https://api.capgo.app/channel/
{
"status": "ok"
}

https://api.capgo.app/channel/

채널 정보를 가져옵니다. 1페이지당 50개의 채널을 반환합니다.

  • app_id: __CAPGO_KEEP_0__이 필요합니다. 앱의 ID를 입력하세요.
  • page: __CAPGO_KEEP_0__이 필요합니다. 페이지 번호를 입력하세요.
  • channel: __CAPGO_KEEP_0__이 필요합니다. 특정 채널 이름을 입력하세요.
터미널 창
# Get all channels
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123"
# Get specific channel
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&channel=beta"
# Get next page
curl -H "authorization: your-api-key" \
"https://api.capgo.app/channel/?app_id=app_123&page=1"
interface Channel {
id: number;
created_at: string;
name: string;
app_id: string;
version: { // bundle (version) assigned to the channel
id: number,
name: string
};
created_by: string;
updated_at: string;
public: boolean;
disableAutoUpdateUnderNative: boolean;
disableAutoUpdate: boolean;
allow_emulator: boolean;
allow_dev: boolean;
}

아래의 응답에서 version __CAPGO_KEEP_0__은 채널에 할당된 버전(번들)을 나타냅니다.

Example Response

예시 응답
{
"data": [
{
"id": 1,
"name": "production",
"app_id": "app_123",
"version": {
"id": 1,
"name": "1.0.0"
},
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z",
"created_by": "user_123",
"public": true,
"disableAutoUpdateUnderNative": false,
"disableAutoUpdate": false,
"allow_emulator": false,
"allow_dev": false
}
]
}

DELETE

삭제

https://api.capgo.app/channel/

채널을 삭제합니다. 이 채널을 사용하는 모든 기기에 영향을 줄 수 있습니다.

Query Parameters

쿼리 매개변수
interface Channel {
channel: string
app_id: string
}

Example Request

예시 요청
Terminal window
curl -X DELETE \
-H "authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"app_id": "app_123",
"channel": "beta"
}' \
https://api.capgo.app/channel/
{
"status": "ok"
}

오류 시나리오와 그 응답:

// Channel not found
{
"error": "Channel not found",
"status": "KO"
}
// Invalid bundle (version) format
{
"error": "Invalid version format. Use semantic versioning",
"status": "KO"
}
// Invalid update policy
{
"error": "Invalid disableAutoUpdate value",
"status": "KO"
}
// Permission denied
{
"error": "Insufficient permissions to manage channels",
"status": "KO"
}

일반적인 사용 사례

사용 사례 섹션
  1. 베타 테스트
{
"app_id": "app_123",
"channel": "beta",
"version": "1.2.0-beta",
"public": false,
"allow_emulator": true,
"allow_dev": true
}
  1. 운영 배포
{
"app_id": "app_123",
"channel": "production",
"version": "1.2.0",
"public": true,
"disableAutoUpdate": "minor"
}
  1. 플랫폼별 업데이트
{
"app_id": "app_123",
"channel": "ios-hotfix",
"version": "1.2.1",
"ios": true,
"android": false
}

채널에서 계속

채널에서 계속

채널을 사용 중이라면 채널 채널 라우팅과 단계별 롤아웃을 계획하고, 채널 채널을 연결하여 채널의 구현 세부 정보를 확인하세요. 채널 채널에서 구현 세부 정보 베타 테스트 솔루션 베타 테스트 솔루션의 제품 워크플로 버전 목표 솔루션 버전 목표 솔루션의 제품 워크플로 Capgo 환경 최적화: 단일 모바일 앱 ID를 사용한 스테이징 Capgo 환경 최적화: 단일 모바일 앱 ID를 사용한 스테이징의 실제 적용 사례