メインコンテンツにジャンプ
チュートリアル

__CAPGO_KEEP_0__のチャンネルを使用した機能フラグとA/Bテストの方法

Capgoのチャンネルを使用した機能フラグとA/Bテストの方法について学びましょう。ユーザーを自ら割り当てるか、バックエンドを使用してみましょう。

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

機能フラグとA/Bテストのための__CAPGO_KEEP_0__のチャンネルの使用方法

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

Capgo’s channel system provides a flexible way to segment users and control feature access. While Capgo doesn’t have built-in plan management or A/B testing, you can implement these features by managing channel assignments yourself.

Understanding Channels

Channels in Capgo allow you to:

  • 特定ユーザーグループに異なる機能を提供する
  • A/Bテストを実行するためにユーザーを異なるチャネルに割り当てる
  • 新機能を段階的にロールアウトする
  • ベータテストプログラムを作成する

Channel Assignment Methods

この方法はより安全です。次の手順が含まれます。

  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. 設定>API キーに移動してください
  3. 「新しいキーを生成」ボタンをクリックしてください
  4. 「__CAPGO_KEEP_0__」を選択してください all デバイスとチャンネルの管理モード
  5. __CAPGO_KEEP_0__で生成されたキーを安全にバックエンド環境変数に保存してください
    • キーは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
  }
}

バックエンドも以下を実装する必要があります

  • ユーザーの権限を検証する
  • すべてのチャンネル割り当てをログする
  • リクエスト制限を実装する
  • 失敗した割り当てに対してリトライロジックを実装する

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. 管理したいチャネル名をクリックしてください。
  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. バックエンド割り当ての使用: 製品用途では、常にバックエンド割り当て方法を使用する
  2. 一貫した割り当て: 一貫したチャネル割り当てのためにユーザーIDや他の安定した識別子を使用する
  3. 監視: 各チャネルごとに機能の使用状況とパフォーマンスメトリクスを追跡する
  4. 段階的なロールアウト: 小さなユーザーセグメントから始めて段階的に拡大する
  5. 明確なドキュメント: チャネル戦略と目的をドキュメント化する

まとめ

: Capgoのチャネルシステムを利用することで、より個別のアプリエクスペリエンスを作成し、A/Bテストを実行することができます。製品用途では、常にバックエンド割り当て方法を使用することで、より良いセキュリティとコントロールを実現することができます。

__CAPGO_KEEP_0__の詳細については、 __CAPGO_KEEP_1__ドキュメント.

__CAPGO_KEEP_0__から続けて

__CAPGO_KEEP_2__が使用している場合 __CAPGO_KEEP_3__ __CAPGO_KEEP_2__と __CAPGO_KEEP_4__ __CAPGO_KEEP_4__の実装詳細については、 __CAPGO_KEEP_4__ __CAPGO_KEEP_4__の実装詳細については、 __CAPGO_KEEP_4__の実装詳細については、 __CAPGO_KEEP_4__ Beta Testing Solution Beta Testingソリューションにおける製品ワークフローについて、 Version Targeting Solution Version Targetingソリューションにおける製品ワークフローについて、

Capacitor アプリのリアルタイム更新

Capgo を使って、ウェブ層のバグが生じた場合に、修正をアプリに送信するのを待つのではなく、数日間待つ必要がなくなる。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビューのパスを通る。

今すぐ始める

最新のブログ記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。