본문으로 건너뛰기
Capgo 로고
튜토리얼

채널을 사용하여 기능 플래그 및 A/B 테스트

자신이 사용자에게 할당하거나 백엔드 사용하여 Capgo의 채널을 사용하여 기능 플래그 및 A/B 테스트 방법을 알아보세요.

작성 기사

마틴 도나디유

작가

발레리아

리뷰어

조던

편집자

채널을 사용하여 기능 플래그 및 A/B 테스트를 위한 사용자 구분 방법

채널을 사용하여 기능 플래그 및 A/B 테스트를 위한 사용자 구분 방법

Capgo의 채널 시스템은 사용자 구분 및 기능 접근 제어를 위한 유연한 방법을 제공합니다. Capgo은 내장된 계획 관리 또는 A/B 테스트 기능이 없지만, 채널 assignments를 관리하여 이러한 기능을 구현할 수 있습니다.

채널 이해

Capgo의 채널은 다음과 같은 기능을 제공합니다:

  • 특정 사용자 그룹에 대한 기능을 대상으로 하기
  • 사용자를 다른 채널에 할당하여 A/B 테스트를 실행하기
  • 새로운 기능을 점진적으로 출시하기
  • 베타 테스트 프로그램을 만들기

채널 assignments 방법

이 방법은 더 안전합니다. 다음을 포함합니다:

  1. 디바이스 ID를 업데이터에서 가져오기
  2. 이를 백엔드에 전송하기
  3. 백엔드에서는 Capgo API을 호출하여 디바이스를 할당합니다.

이것을 구현하는 방법은 다음과 같습니다:

import { CapacitorUpdater } from '@capgo/capacitor-updater'

// Get device ID
const getDeviceId = async () => {
  const { deviceId } = await CapacitorUpdater.getDeviceId()
  return deviceId
}

// Send device ID to your backend
const assignToChannel = async (channel: string) => {
  const deviceId = await getDeviceId()
  // Your backend will call Capgo API to assign the device
  await yourBackend.assignDeviceToChannel(deviceId, channel)
}

백엔드 구현

백엔드에서는 다음을 수행해야 합니다:

  1. API 키를 Capgo 대시보드에서 가져오기
  2. Capgo API을 호출하여 디바이스를 채널에 할당하기

API 키를 가져오는 방법은 다음과 같습니다:

  1. Capgo 대시보드에 로그인하기
  2. Settings으로 이동 > API 키
  3. 새 키 생성을 클릭하세요
  4. 선택 all 장치 및 채널 관리를 위한 모드를 선택하세요
  5. 생성된 키를 안전하게 백엔드 환경 변수에 저장하세요
    • 키는 32자리 16진수 문자열입니다
    • It’s a secret key that should never be exposed in client-side code

Node.js 예시입니다:

import axios from 'axios'

const CAPGO_API_KEY = 'your_api_key'
const CAPGO_API_URL = 'https://api.capgo.app'

async function assignDeviceToChannel(deviceId: string, channel: string) {
  try {
    const response = await axios.post(
      `${CAPGO_API_URL}/device`,
      {
        app_id: 'YOUR_APP_ID',
        device_id: deviceId,
        channel: channel
      },
      {
        headers: {
          'authorization': CAPGO_API_KEY,
          'Content-Type': 'application/json'
        }
      }
    )
    return response.data
  } catch (error) {
    console.error('Failed to assign device to channel:', error)
    throw error
  }
}

백엔드도 다음과 같이 처리해야 합니다

  • 사용자의 권한을 검증하세요
  • 채널 할당을 모두 로그하세요
  • 속도 제한을 처리하세요
  • 실패한 assignment에 대한 재시도 로직을 implement하세요.

2. 자체 assignment (보안이 덜함)

이 방법은 장치가 직접 채널에 할당할 수 있도록 허용합니다. 테스트에 유용하지만 프로덕션에 적합하지 않습니다.

import { CapacitorUpdater } from '@capgo/capacitor-updater'

// Assign device to channel
const assignToChannel = async (channel: string) => {
  await CapacitorUpdater.setChannel(channel)
}

// Get current channel
const getCurrentChannel = async () => {
  const { channel } = await CapacitorUpdater.getChannel()
  return channel
}

사용자가 채널에 자체 할당하기 전에, Capgo 대시보드에서 이 기능을 활성화해야 합니다.

  1. Capgo 대시보드의 채널 섹션으로 이동하세요.
  2. 관리하고 싶은 채널 이름을 클릭하세요.
  3. 채널 설정에서 '장치가 자체적으로 연관되도록 허용'을 활성화하세요.
  4. 변경을 저장하세요.

이 설정이 false라면, 이 채널을 호출하는 시도는 실패합니다. setChannel Feature Flags를 implement하세요.

채널을 사용하여 기능 접근을 제어하세요.

2. 자체 할당 (보안이 덜함)

const isFeatureEnabled = async (feature: string) => {
  // Example: Check if user is in beta channel
  const channel = await getCurrentChannel()
  return channel === 'beta'
}

구분 테스트 구현

다양한 채널에 사용자를 할당하여 A/B 테스트를 실행하세요:

const assignToABTest = async (userId: string) => {
  // Use consistent hashing to assign users
  const hash = await hashUserId(userId)
  const variant = hash % 2 === 0 ? 'variant-a' : 'variant-b'
  
  await assignToChannel(variant)
  return variant
}

최선의 방법

  1. 백엔드 할당 사용: 프로덕션 환경에서는 백엔드 할당 방법을 항상 사용하세요
  2. 일관된 할당: 사용자 ID 또는 다른 안정적인 식별자를 사용하여 일관된 채널 할당을 사용하세요
  3. 모니터링: 각 채널의 기능 사용량과 성능 지표를 추적하세요
  4. 격차 롤아웃: 작은 사용자 세그먼트부터 시작하여 점진적으로 확장하세요
  5. 명확한 문서화: 채널 전략과 목적을 문서화하세요

결론

Capgo의 채널 시스템을 활용하여 더 개인화된 앱 경험을 제공하고 A/B 테스트를 수행할 수 있습니다. 프로덕션 환경에서는 보다 안전하고 제어할 수 있는 백엔드 assignment 방법을 항상 선호하세요.

채널 관리에 대한 자세한 내용은 채널 관리 문서.

채널을 사용하여 기능 플래그 및 A/B 테스트를 위한 기능 플래그와 A/B 테스트를 사용하는 방법

채널 라우팅과 스테이지드 롤아웃을 계획하고 있는 경우 Channels 채널 라우팅과 스테이지드 롤아웃을 계획하고 있는 경우 Channels 채널 라우팅과 스테이지드 롤아웃을 계획하고 있는 경우 Channels 채널의 구현 세부 정보에 대해 채널 채널의 구현 세부 정보에 대해 베타 테스트 솔루션 베타 테스트 솔루션의 제품 워크플로에 대해 버전 대상 솔루션 버전 대상 솔루션의 제품 워크플로에 대해

Capacitor 앱의 즉각적인 업데이트

Capgo 앱의 즉각적인 업데이트 설명

마틴의 인간 지원

시작하기

최신 뉴스

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의 통찰력을 제공합니다.