ターゲティングルールを使うと、ユーザーの属性に基づいて異なるフラグ値を配信できます。各フラグには 0 個以上のルールを設定できます。
ルールは上から下へ、順に評価されます。条件が一致した最初のルールが使われ、そのルールに設定されたバリアントが返されます。どのルールにも一致しない場合、Flagship はフラグのデフォルトバリアントを返します。
フラグが無効のときは、ルールに関係なく常にデフォルトバリアントが返されます。
より具体的なルールを、広いルールより前に置きます。広いキャッチオールルールがあると、後続のルールが実行されないことがあります。
ルールは次の要素で構成されます。
- 条件 — 満たす必要がある、1 つ以上の属性比較です。例:
country equals "US"またはplan in ["enterprise", "business"]。 - 配信するバリアント — ルールが一致したときに返すバリアントです。
- ロールアウト(任意) — 割合に基づく段階的リリースです。一致したユーザーのうち、指定した割合だけがルールのバリアントを受け取ります。残りは次のルールへ進みます。
各条件は、評価コンテキストの属性を、演算子を使って値と比較します。
- 属性 — 評価するコンテキストキーです(例:
userId、country、plan)。 - 演算子 — 実行する比較です。Flagship は 11 種類の演算子 をサポートします。
- 値 — 比較対象の値です。演算子に応じて、文字列、数値、または配列です。
評価コンテキストに、条件が参照する属性が含まれていない場合、その条件は一致しません。
ルール内の条件は AND / OR 演算子でグループ化でき、最大 5 階層まで入れ子にできます。
たとえば、米国またはカナダの Enterprise ユーザーを対象にする場合:
AND:plan equals "enterprise"OR:country equals "US"country equals "CA"
評価コンテキストに送るユーザーデータを抑え、ルールの動作を把握しやすくするために、ルールの表現に必要な最小限のコンテキスト属性だけを使います。