- Web 環境向けの JavaScript SDK または
engine.js。 - Android または iOS アプリ向けのモバイル SDK。
- バックエンド統合と意思決定ロジック向けのサーバーサイド SDK。
アーキテクチャ概要
典型的なマルチ環境セットアップは、次のコンポーネントで構成されます。- ウェブサイト: JavaScript SDK または
engine.jsを使用して、クライアントサイドの実験とパーソナライゼーションキャンペーンを実行します。 - モバイルアプリ: モバイル SDK を使用して、バリエーションを表示し、コンバージョンをトラッキングします。
- バックエンドサーバー: サーバーサイド SDK を使用して、バリエーションの集中決定または訪問者データの同期を行います。
データと訪問者コードのフロー
- 訪問者コードは、すべての環境間でユーザーを一貫して識別します。
- サーバーサイド SDK は、必要に応じてバリエーション決定を調整します。
- 各 SDK は、分析およびトラッキングデータを Kameleoon プラットフォームに直接送信します。
訪問者コードとクロスデバイス管理
訪問者コードの生成と共有
各ユニークな訪問者は、すべてのプラットフォーム間で一貫した1つの訪問者コードを持つ必要があります。このコードにより、Kameleoon は実験決定とトラッキングを統一できます。 次のクロスプラットフォームフローに従ってください。- エンジン、Web SDK、サーバーサイド SDK、またはモバイルアプリケーションが訪問者コードを生成します。
- バックエンドは、ユーザーが新しいプラットフォームでログインしたときに既存の訪問者コードを取得します。
- システムは、訪問者コードをモバイル、サーバーサイド、Web SDK に渡します。これにより、すべてのプラットフォームで同じユーザーが一貫して評価されます。
訪問者コードを同期する
- 訪問者コードをバックエンドまたはユーザーデータベースに安全に保存し、ユーザー ID にリンクします。
- ユーザーが別のプラットフォームでログインした場合は、次の手順に従います。
- モバイルアプリ: バックエンドから訪問者コードをリクエストします。
- サーバーサイド SDK: すべてのバリエーションおよびトラッキングコールに同じ訪問者コードを使用します。
- Web SDK: JavaScript API を使用して訪問者コードを設定します。
Web SDK とサーバーサイド SDK は、
kameleoonVisitorCode Cookie を介して自動的に通信します。これら2つをリンクするための追加手順を実行する必要はありません。ベストプラクティス
- 既存のユーザー識別子 (例:
userId) を、すべてのプラットフォーム間で単一の Kameleoon 訪問者コードにマッピングします。 - バックエンドを訪問者コードの真実の情報源として維持します。
- 既知のユーザーの既存の訪問者コードが SDK によって上書きされないようにします。
環境間の実験処理
モバイルとバックエンドなど、複数の環境にまたがる実験のために、決定とバリエーション表示を調整します。シナリオ例
このシナリオでは:- モバイルアプリがバリエーションを表示します。
- バックエンドサーバーが割り当てられるバリエーションを決定します。
実装オプション
オプション 1: サーバーサイド決定ロジック- モバイルアプリが訪問者コードをバックエンドに送信します。
- サーバーサイド SDK が
getVariation()(またはその同等メソッド) を呼び出して、割り当てられたバリエーションを取得します。 - バックエンドはバリエーション ID または名前をモバイルアプリに返します。
- モバイルアプリがバリエーションを表示し、エクスポージャーをトラッキングします。
- モバイルおよびサーバー SDK の両方が、イベントトラッキングに同じ訪問者コードを使用します。
- バリエーションロジックを集中化し、一貫した決定を保証します。
- バックエンドロジックと UI 要素の両方に影響する実験をサポートします。
- モバイル SDK が訪問者コードを使用してバリエーション割り当てを取得します。
- モバイルアプリがバリエーションをローカルに適用し、エクスポージャーを直接トラッキングします。
- (オプション) バックエンドもトラッキングまたは検証に参加する場合、サーバーサイド SDK が同じ訪問者コードを再利用して、一貫したレポートを保証します。
- 同期で遅延のない決定を提供します。
- サーバーへの往復を回避することで遅延を削減します。
- バックエンドロジックに依存しない UI 中心の実験を最適化します。
適切なセットアップを選ぶ
| ユースケース | 決定レイヤー | 訪問者コードのソース | 備考 |
|---|---|---|---|
| モバイル UI 実験 | モバイル SDK | バックエンド | バリエーションをローカルに処理 |
| バックエンドまたは API 駆動 | サーバーサイド SDK | アプリまたはウェブサイト | 集中化された決定ロジック |
| クロスデバイス一貫性 | 任意 | バックエンド | 統一されたトラッキングを保証 |
コード例: レイヤー間で訪問者コードを渡す
異なるレイヤー間で SDK 実装を処理するには:
- すべてのプラットフォームで、ユーザーごとに単一の訪問者コードを割り当てます。
- バックエンドから訪問者コードを管理および配布します。
- 実験タイプに基づいてバリエーションロジックレイヤーを選択します (集中化されたロジックにはサーバー、アプリ駆動の UI にはクライアントサイド)。
- 同じ訪問者コードですべてのユーザーアクティビティをトラッキングして、一貫したクロスデバイスデータを維持します。