リクエストとともに送るディメンション
3つのディメンションが組み込まれており、呼び出し元が指定します。デバイス(デスクトップ、モバイル、タブレット)、プラットフォーム(Web、iOS、Android)、ロケールです。読み取りでは、これらをcontexts引数で渡します。
サインイン状態
プラットフォームは、ユーザーのトークンから認証状態のディメンションを設定します。値はauthenticatedの1つだけです。サインアウトしている訪問者には値がまったくないため、「サインアウト」に一致するルールは作れず、その場合はデフォルトのバリアントが提供されます。
セグメント
セグメントは、ルールを持つディメンションです。ルールはリクエストごとに新たに評価され、サインイン済みのユーザーに対してtrueまたはfalseになります。何も保存されないため、メンバーシップのリストもメンバー数もありません。セグメントは他のセグメントを参照でき、匿名の訪問者がセグメントに一致することはありません。
条件はANDとORで組み合わせられ、入れ子にでき、等価、数値の比較、テキストの一致、リストのメンバーシップ、正規表現を判定できます。
ソースとしてのプロフィールモデル
プロジェクトごとに1つのディメンションは、モデルをソースとして指定できます。そのモデルは、エンドユーザーが所有するシングルトンモデル(ドキュメントでは「customer-owned」と呼びます)である必要があります。サーバーは、サインイン済みのユーザーのそのモデルのレコードを、ルールが読み取れるuser名前空間に読み込みます。この読み込みは特権で行われるため、フィールドレベルのアクセスでクライアントから隠されているプロフィールのフィールドも、ターゲティングに使えます。
定義とリリース
ディメンションは、コンソール、CLI、または設定ファイルのdefineContextDimensionで定義します。新規または編集したディメンションは、リリースで公開されるまで下書きです。設定で宣言されたディメンションはその設定が所有し、プッシュで作成、更新、削除され、コンソールで作ったものには手を加えません。
詳細を読む
ターゲティングガイドでは、コンテキストディメンションとその読み取り方を説明しており、セグメントには専用のガイドがあります。