본문으로 바로가기
튜토리얼

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

Capgo의 채널을 사용하여 기능 플래그 및 A/B 테스트를 위해 사용자 자체 할당 또는 백엔드 사용

마틴 도나디유

마틴 도나디유

콘텐츠 마케터

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

How to Use Channels for Feature Flags and A/B Testing

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

Understanding Channels

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

  • 특정 사용자 그룹에 다른 기능을 제공
  • A/B 테스트를 위해 사용자를 다른 채널에 할당
  • 새로운 기능을 점진적으로 출시
  • 베타 테스트 프로그램을 생성

Channel Assignment Methods

이 방법은 보안이 더 높습니다. 다음을 포함합니다.

  1. 업데이터에서 디바이스 ID를 가져옵니다.
  2. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__을 백엔드에 전송합니다.
  3. Capgo API을 호출하여 장치 assign하기 위해 백엔드가 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을 호출하여 장치를 채널에 assign합니다.

API 키를 얻으려면 다음을 수행하세요.

  1. Capgo 대시보드에 로그인하세요.
  2. API 설정 > API 키로 이동하세요.
  3. '새 키 생성' 버튼을 클릭하세요.
  4. __CAPGO_KEEP_0__ 키를 선택하세요. all __CAPGO_KEEP_0__를 관리하는 장치 및 채널을 관리하는 모드입니다.
  5. __CAPGO_KEEP_0__에서 생성된 키를 안전하게 백엔드 환경 변수에 저장하세요.
    • 키는 32자리 16진수 문자열입니다.
    • 클라이언트 측 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
  }
}

백엔드도 다음을 수행해야 합니다.

  • 사용자의 권한을 검증하세요.
  • 채널 할당 기록을 모두 로깅하세요.
  • 할당 실패 시 재시도 로직을 구현하세요.
  • 2. 자체 할당(보안이 낮음)

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

__CAPGO_KEEP_0__는 Node.js 예제입니다.

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. 변경 사항을 저장하세요.

이 설정이 거짓인 경우, 이 채널을 호출하는 모든 시도는 실패합니다. setChannel 기능 플래그 구현

채널을 통해 기능 접근을 제어하세요.

A/B 테스트 구현

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
}

__CAPGO_KEEP_0__

  1. Use Backend Assignment: 프로덕션 환경에서 항상 백엔드 assignment 방법을 사용하세요
  2. Consistent Assignment: 사용자 ID나 다른 안정적인 식별자로 일관적인 채널 assignment을 사용하세요
  3. Monitoring: 각 채널의 기능 사용률과 성능 지표를 추적하세요
  4. Gradual Rollouts: 작은 사용자 세그먼트부터 시작하여 점진적으로 확장하세요
  5. Clear Documentation: 채널 전략과 목적을 문서화하세요

Conclusion

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

__CAPGO_KEEP_0__에 대한 채널 관리에 대한 자세한 내용은 __CAPGO_KEEP_1__ 문서를 참조하십시오..

__CAPGO_KEEP_0__에서 기능 플래그 및 A/B 테스트를 위한 채널 사용 방법을 계속 진행하십시오.

__CAPGO_KEEP_0__를 사용하고 있다면 __CAPGO_KEEP_0__에서 기능 플래그 및 A/B 테스트를 위한 채널 사용 방법을 참조하십시오. __CAPGO_KEEP_0__를 계획하고 단계별 롤아웃을 위해 연결하세요. __CAPGO_KEEP_2__ __CAPGO_KEEP_2__에서 채널 라우팅과 단계별 롤아웃에 대한 구현 세부 정보를 참조하십시오. __CAPGO_KEEP_2__에서 채널 라우팅과 단계별 롤아웃에 대한 구현 세부 정보를 참조하십시오. __CAPGO_KEEP_2__에서 채널 라우팅과 단계별 롤아웃에 대한 구현 세부 정보를 참조하십시오. __CAPGO_KEEP_2__ __CAPGO_KEEP_2__ Beta Testing Solution Beta Testing 솔루션의 제품 워크플로우에 대해, 그리고 Version Targeting Solution Version Targeting 솔루션의 제품 워크플로우에 대해.

Capacitor 앱에 대한 Live updates

웹-layer 버그가 live 상태일 때, Capgo를 통해 패치를 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 마세요. 사용자는 배경에서 업데이트를 받으며 네이티브 변경 사항은 일반적인 리뷰 경로를 유지합니다.

Get Started Now

블로그에서 최신 소식

Capgo은 당신이 완벽한 전문가 모바일 앱을 만들기 위해 필요한 최고의 통찰력을 제공합니다.