概要
Kameleoon の SDK を使用すると、Web およびモバイルアプリケーションでユーザーエクスペリエンスを向上させるための実験を実施できます。下の図に基づき、Kameleoon SDK で実験を実装するには、初期化、ユーザー識別と属性割り当て、バリエーション割り当てとトラッキング の 3 つの段階があります。本記事ではこれら各段階について詳しく説明します。
以下の各ステップで説明されているメソッド(およびその名称)は、特定の SDK 言語の慣習に基づき、異なる構文を持ちます。
1. 初期化
初期化時に、SDK は Cloudflare の Content Delivery Network を介して、更新されたフィーチャーフラグ設定を取得します。取得方法には次の 2 つがあります。デフォルトオプションの ポーリング では、SDK が定期的に CDN に要求を送信し(デフォルト間隔は 60 分毎)、最新の設定を取得します。プレミアムオプションの ストリーミング では、Kameleoon SDK は server-sent events (SSE) を介して設定のリアルタイムな変更を通知されます。設定が取得されると、SDK はバリエーションおよびターゲティングプロセスとともに、訪問者コードの割り当てを開始します。詳細については、技術的考慮事項 をご覧ください。2. ユーザー識別と属性割り当て
この段階では、バリエーションを計算するため、訪問者コードが割り当てられ、ユーザー属性 が組み込まれます。-
1. 訪問者コードの割り当て: 初期化時に、訪問者に一意の ID を割り当てるオプションがあります。Web SDK では、
getVisitorCode()メソッドが要求ヘッダーの Cookie から訪問者コードを取得します。訪問者コードが存在しない場合、メソッドはランダムな訪問者コードを生成し、応答ヘッダー Cookie に保存します。モバイル SDK では、訪問者コードはモバイルデバイスのメモリから取得されます。 -
2. ターゲティング目的のユーザー属性の追加: Kameleoon のターゲティング条件により、ユーザー属性 に基づいてフィーチャーフラグをアクティブ化できます。これらの条件を効果的に使用するには、
addData()メソッドで値を設定したり、getRemoteVisitorData()を使用して 特定の条件 を取得して使用します。ユーザー属性はその後、サーバーサイド SDK ではサーバーメモリ、クライアントサイド SDK ではブラウザのローカルストレージ、モバイル SDK ではデバイスメモリに保存されます。詳細については、データストレージに関する記事 をご覧ください。 -
3. ターゲティング目的の外部データの追加: ユーザーの好みや CRM データなどの外部データは、Data API(REST API)の POST エンドポイント を介して保存できます。このデータは、
getRemoteData()メソッドを使用して SDK で取得します。
3. バリエーション割り当てとトラッキング
Kameleoon SDK では、getVariation()(isFeatureActive() / getVariations())メソッドは、複数のバリエーションを含むフィーチャー実験の設定を取得します。特定のユーザーに割り当てられたバリエーションキーを取得するために使用できます。
訪問者がフィーチャーフラグのすべてのターゲティング条件と公開ルールを満たすと、Kameleoon はハッシュ関数を使用して訪問者をバリエーションに割り当て、トラッキングサービスに実験イベントを送信します。訪問者が条件を満たさない場合、ユーザーが Web またはモバイルアプリでアクティブであることを示すアクティビティイベントが送信されます。さらに、flush() メソッドを使用して、その他の保存されているデータをトラッキングサービスに送信できます。