> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# エンティティの詳細

> Experiment Center のエンティティ（フィーチャーフラグ、バリエーション、セグメント、実験、割り当て）について説明します。

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "Beta",
    "ea": "早期アクセス"
  };
  const stageText = stageTextMap[stage] || "製品リリース段階";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>この機能は{linkify(`${plans}プラン`, "https://auth0.com/pricing")}でご利用いただけます。 </>}
            {contact && "参加をご希望の場合は、" + contact + "までお問い合わせください。 "}
            {terms && <>この機能を使用することにより、Oktaの該当する無料トライアル規約および{linkify("Master Subscription Agreement", "https://www.okta.com/legal")}に同意したものとみなされます。</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>{feature}機能は現在、{linkify(stageText, prsLink)}です。</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Auth0 Experiment Center" stage="beta" terms="true" contact="Auth0 Support" />

Auth0の[Management API](/docs/ja-jp/api/management/v2)を使用すると、プロパティ、ライフサイクルのステータス、検証ルールなど、Experiment Center エンティティの詳細を定義できます。

<Warning>
  Beta期間中、Experiment Center は開発用テナントでのみ利用できます。本番用テナントはサポートされていません。
</Warning>

<div id="experiment">
  ## 実験
</div>

<div id="experiment-lifecycle">
  ### 実験のライフサイクル
</div>

実験には 5 つの状態があります。

| **ステータス**   | **意味**                                                      |
| ----------- | ----------------------------------------------------------- |
| `draft`     | 作成済みですが、まだ実行されていません。クエリパラメータによるオーバーライドを使って安全にテストできます。       |
| `active`    | 実行中です。バリアントの割り当てとコンテキストの挿入が、すべての認証トランザクションで有効です。            |
| `paused`    | 一時停止中です。新規の割り当ては行われません。進行中のセッションでは、割り当て済みのバリエーションが維持されます。   |
| `completed` | 終了しています。新規の割り当ては行われません。手動で昇格する際の参照用に Configuration は保持されます。 |
| `archived`  | 論理削除されています。既定のリスト表示では非表示になります。分析データは保持されます。                 |

ライフサイクルを移行するには、Management API の [`/api/v2/experimentation/experiments/{id}/status`](/docs/ja-jp/api/management/v2/experimentation/update-experiment-status) エンドポイントを使用します。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  `completed → active` への移行はできません。同じテストを再度実行する必要がある場合は、新しい実験を作成してください。
</Callout>

<div id="the-is_valid-gate">
  ### `is_valid` ゲート
</div>

実験を有効化する前に、準備完了チェックに合格する必要があります。

Experiment Center では、すべての実験に `is_valid` というブール値が保存され、書き込みのたびに再計算されます。これにより、設定中にすぐフィードバックを得られます。

また、Management API の [`/api/v2/experimentation/experiments/{id}/validate`](/docs/ja-jp/api/management/v2/experimentation/validate-experiment) エンドポイントを使用して、準備完了状態を明示的に確認することもできます。

このエンドポイントは `is_valid: true/false` と、各ブロッカーを一覧にした `errors` 配列を返します。ステータス エンドポイント経由で有効化を試みた場合も、同じチェックが自動的に実行されます。

**有効化時にチェックされる検証ルール:**

* 参照されているフィーチャーフラグが `active` ステータスである
* 少なくとも 1 つの割り当てが存在する
* すべての割り当ての `variation_id` 値が、その実験のフィーチャーフラグに属している
* `is_control: true` を持つ割り当てがちょうど 1 つある
* 割り当ての重みの合計が 100 である (パーセンテージ戦略)
* `is_fallback: true` を持つ割り当てがちょうど 1 つある (セグメント戦略)
* テナント内で現在有効な他の実験が存在しない (Beta のみ)

<div id="assignment">
  ### 割り当て
</div>

**クエリパラメータによるオーバーライド**

クエリパラメータを指定すると、任意の `/authorize` リクエストに特定の割り当てを強制できます。

| Parameter       | Description                             |
| --------------- | --------------------------------------- |
| `experiment_id` | 特定の実験に登録する                              |
| `variation_id`  | 特定の バリエーション を強制する (`experiment_id` が必要) |
| `segment_id`    | 特定の セグメント を強制する (`experiment_id` が必要)   |

これは、`draft` を含むあらゆるステータスの実験で機能します。開発中はこれを使って、有効化する前に両方の バリエーション が正しく表示されることを確認してください。

<div id="feature-flag">
  ## フィーチャーフラグ
</div>

<div id="feature-flag-lifecycle">
  ### フィーチャーフラグのライフサイクル
</div>

フィーチャーフラグのライフサイクルは、次の 3 つの状態で管理されます。

| **ステータス**  | **意味**                                                  |
| ---------- | ------------------------------------------------------- |
| `draft`    | 作成済みですが、まだ有効ではありません。有効な実験から参照することはできません。                |
| `active`   | 使用可能な状態です。このフラグを参照する実験を有効化するには、事前にこの状態になっている必要があります。    |
| `archived` | 終了状態です。新しい実験からこのフラグを参照することはできません。必要に応じて新しいフラグを作成してください。 |

ステータスを切り替えるには、Auth0 Management API の [`/api/v2/experimentation/feature-flags/{id}/status`](/docs/ja-jp/api/management/v2/experimentation/update-feature-flag-status) エンドポイントを使用します。

**有効化の条件:** フィーチャーフラグは、少なくとも 2 つのバリエーションを持つまで `active` に移行できません。これにより、すべての有効なフラグは、本番利用される前に最低でも 1 つの control と 1 つの treatment を備えていることが保証されます。

```text wrap lines theme={null}
draft → active   (requires ≥2 variations)
draft → archived
active → archived (terminal; no way back)
```

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  `archived → active` への移行はできません。フラグをアーカイブした後に別のテストを実行する必要がある場合は、新しい フィーチャーフラグ を作成してください。
</Callout>

<div id="variation">
  ### バリエーション
</div>

**パラメータとオーバーライド**

フィーチャーフラグ のパラメータは、実験の設定項目を定義します。各パラメータには、次のものがあります。

* 名前 (例: `show_passkey_prompt`)
* 型: `string`、`boolean`、`number`、`array`、または `object`
* デフォルト値 (ベースライン)

バリエーションの `overrides` では、異なるパラメータだけを指定します。実行時には、Experiment Center がフラグのベースラインとバリエーションのオーバーライドをマージし、マージ後の完全な `config` オブジェクトを ACUL、Actions、ページテンプレートに渡します。すべてのパラメータには常に `config` 内で値が設定されるため、フォールバックロジックを書く必要はありません。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  パラメータで使用できるのは**構造化モードのみ**です。各パラメータは、名前付きキーと型付きの値を持ちます。
</Callout>

<div id="segment">
  ## セグメント
</div>

<div id="segment-rules">
  ### セグメントのルール
</div>

セグメントの `rules` は、ルールオブジェクトの配列です。配列内の **いずれか** のルールに一致すると、そのリクエストはそのセグメントに一致します。

* `match`: すべての条件が true である必要があります (AND ロジック)
* `not_match`: すべての条件が true である必要があります (NOT ロジック)

各条件では、演算子 `contains`、`starts_with`、`ends_with`、`exists` を使って、属性と値を比較します。

<div id="available-condition-attributes">
  ### 使用可能な条件属性
</div>

セグメントで使用できる属性は、`/authorize` トランザクションの開始時に利用可能なものに限られます。

| **カテゴリ**     | **属性**                                             |
| ------------ | -------------------------------------------------- |
| クライアント       | `client_id`                                        |
| 接続           | `connection`, `connection_type`                    |
| 組織           | `organization_id`                                  |
| ドメイン         | `domain`                                           |
| デバイスとブラウザー   | `device_type`, `browser`, `platform`, `user_agent` |
| 地理情報 (IP 由来) | `country`, `region`                                |

<div id="learn-more">
  ## 詳細情報
</div>

<CardGroup cols={2}>
  <Card title="Experiment Center Quickstart" icon="gear" href="/docs/ja-jp/customize/experiment-center/quickstart">
    フィーチャーフラグ、バリエーション、実験を一通り作成する手順を確認します。
  </Card>

  <Card title="ACUL 連携" icon="puzzle-piece" href="/docs/ja-jp/customize/experiment-center/integrations/acul-integration-guide">
    Auth0 Custom Universal Login (ACUL) の画面内で実験のコンテキストを読み取ります。
  </Card>
</CardGroup>
