본문으로 건너뛰기
강좌

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

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

마틴 도나디우

마틴 도나디우

콘텐츠 마케터

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

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

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

__CAPGO_KEEP_0__의 채널을 이해하세요

Capgo의 채널을 사용하여:

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

채널 할당 방법

이 방법은 보안이 더 높습니다. 다음 단계를 거칩니다:

  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)
}

백엔드 구현

Your backend needs to:

  1. Capgo API 키를 얻으려면 Capgo Capgo 대시보드에서 API 키를 받으세요.
  2. Capgo Capgo API를 호출하여 API에 장치에 대한 채널을 할당하세요.

Capgo API 키를 얻으려면:

  1. Capgo Capgo 대시보드에 로그인하세요.
  2. 설정 > Capgo API 키로 이동하세요.
  3. 새 키를 생성하기 위해 "Generate New Key"를 클릭하세요.
  4. 관리할 장치 및 채널을 관리할 모드를 선택하세요. all 생성된 키를 안전하게 백엔드 환경 변수에 저장하세요.
  5. 키는 32자리 16진수 문자열로 구성됩니다.
    • 이 키는 클라이언트 측 __CAPGO_KEEP_0__에서 절대 노출되지 않아야 하는 비밀 키입니다.
    • 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
  }
}

백엔드도:

  • 사용자의 권한을 검증해야 합니다.
  • 채널 assignments를 모두 로그해야 합니다.
  • 속도 제한을 처리해야 합니다.
  • 실패한 assignments에 대한 재시도 로직을 구현해야 합니다.

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

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

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. __CAPGO_KEEP_0__ 대시보드의 채널 이름을 클릭하세요.
  3. 채널 설정에서 "장치가 자체적으로 연관되도록 허용"을 활성화하세요.
  4. 변경 사항을 저장하세요

이 설정이 false일 경우, 이 채널을 통해 호출하는 모든 시도는 실패합니다. 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
}

프로덕션 환경에서는 백엔드 할당 방법을 항상 사용하세요

  1. 일관된 할당사용자 ID 또는 다른 안정적인 식별자를 사용하여 일관된 채널 할당을 사용하세요
  2. __CAPGO_KEEP_0____CAPGO_KEEP_0__
  3. 감시: 각 채널에 대한 기능 사용 및 성능 지표를 추적하십시오.
  4. 격차적 배포: 작은 사용자 세그먼트부터 시작하여 점진적으로 확장하십시오.
  5. 명확한 문서화: 채널 전략과 목적을 문서화하십시오.

결론

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

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

다음으로

: 채널을 사용하여 기능 플래그 및 A/B 테스트를 위한 방법을 알아보십시오. 채널을 사용하여 기능 플래그 및 A/B 테스트를 위해 사용하는 방법 계획 채널 라우팅 및 스테이지 롤아웃을 위해 연결하세요. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__

실시간 업데이트: Capacitor 앱

웹层 버그가 활성화된 경우 Capgo를 통해修正을 배포하는 대신 앱 스토어 승인까지 며칠 기다리지 마십시오. 사용자는 배경에서 업데이트를 받으며 네이티브 변경은 일반적인 검토 경로를 따릅니다.

마틴의 인간 지원

시작하기

최신 뉴스

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