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

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

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

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

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

コンテンツマーケター

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

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

Capgoのチャンネルシステムは、ユーザーを分割して機能へのアクセスを制御するための柔軟な方法を提供します。 Capgoには、プラン管理やA/Bテストの機能は組み込まれていませんが、チャンネル割り当てを自分で管理することで、これらの機能を実装できます。

チャンネルの理解

Capgoのチャンネルでは、次のことができます。

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

チャネル割り当て方法

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

  1. デバイス ID を取得する
  2. デバイス ID をバックエンドに送信する
  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. 選択 all モードを使用してデバイスとチャンネルを管理
  5. 生成されたキーを安全にバックエンド環境変数に保存
    • キーは 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. 自己割り当て(セキュリティが低い)

この方法では、デバイスは直接チャンネルに割り当てられる。テスト用に便利ですが、生産環境ではセキュリティが低いです。

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の場合、チャンネル名を指定してこのAPIを呼び出しても失敗する。 setChannel 機能フラグを実装する

__CAPGO_KEEP_0__

チャンネルを使用して機能へのアクセスを制御する:

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

A/Bテストの実装

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. Clear Documentation: __CAPGO_KEEP_0__チャンネル戦略と目的を記述する

Conclusion

Capgoのチャンネルシステムを活用することで、より個別のアプリエクスペリエンスを作成し、A/Bテストを実行できます。生産環境での使用の際は、セキュリティとコントロールの向上のために、バックエンド割り当てメソッドを優先してください。

__CAPGO_KEEP_0__チャンネル管理の詳細については、 channelsドキュメント.

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

チャンネルを使用して機能フラグとA/Bテストの実行方法 を使用している場合、チャンネルルーティングとステージドロールアウトを計画するには、 Channels チャンネル チャンネル チャンネル チャンネルの実装詳細について チャンネル チャンネルの実装詳細について ベータテスト ソリューション ベータテスト ソリューションの製品ワークフローについて バージョン ターゲット ソリューション バージョン ターゲット ソリューションの製品ワークフローについて

リアルタイムの更新機能をCapacitorアプリに実装

ウェブ層のバグが生じた場合、Capgoを使用して修正を配信し、数日間待つ必要のないアプリストアの承認を待つ必要がなくなる。ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じて保持される。

今すぐ始める

ブログの最新記事

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