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

# Kameleoon.API.Experiments

> 稼働中の実験を読み取り、割り当て、トリガーする Kameleoon.API.Experiments メソッドのリファレンスです。

このモジュールは、ライブな実験にアクセスするメソッドを提供します。

> [!NOTE]
>
> このモジュールは Kameleoon Web Experimentation ソリューションでのみ利用可能です。

## assignVariation

`assignVariation()` メソッドは、実験に対する特定のバリエーションの関連付けを強制し、標準の割り当てアルゴリズムをオーバーライドします。実験がトリガーされる前にこれを呼び出すと、エンジンは後の有効化のためにバリエーションを事前割り当てします。実験がすでにトリガーされている場合は、既存の関連付けを置き換えるために **override** 引数を **true** に設定します。

```javascript theme={null}
var experimentID = 2468;
var variationID;

if (Kameleoon.API.CurrentVisit.device.type == "Desktop") {
  variationID = 123456;
} else if (Kameleoon.API.CurrentVisit.device.type == "Tablet") {
  variationID = 654321;
} else {
  variationID = 987654;
}

Kameleoon.API.Experiments.assignVariation(experimentID, variationID);
```

**引数**

| 名前 | 型 | 説明 |
| - | - | - |
| experimentID | Number | 実験の ID。このフィールドは必須です。 |
| variationID | Number | バリエーションの ID。このフィールドは必須です。 |
| override | Boolean | **true** の場合、エンジンは既存のバリエーションの関連付けを指定された値で置き換えます。省略された場合、このメソッドはデフォルトで **false** になります。 |

## block

`block()` メソッドは、`trigger()` を通じた手動呼び出しを含む、実験のトリガーまたは有効化を防止します。ブロックは、次の `Kameleoon.API.Core.load()` までデフォルトで現在のページに適用されます。訪問全体にわたって実験をブロックするには、**visit** 引数を **true** に設定します。

```javascript theme={null}
// The experiment will be blocked for the current page
Kameleoon.API.Experiments.block(12345);

// The experiment will be blocked for the whole visit
Kameleoon.API.Experiments.block(54321, true);
```

**引数**

| 名前 | 型 | 説明 |
| - | - | - |
| experimentID | Number | 実験の ID。このフィールドは必須です。 |
| visit | Boolean | **true** の場合、エンジンは訪問全体にわたって実験をブロックします。省略された場合、ブロックは現在のページのみに適用されます (デフォルト: **false**)。 |

## getAll

`getAll()` メソッドは、すべてのライブ実験 (実行中、ドラフト/一時停止/停止ではないもの) を返します。

```javascript theme={null}
Kameleoon.API.Experiments.getAll().forEach(function (experiment) {
  if (experiment.id == 123456 && experiment.active) {
    console.log(experiment.name);
  }
});
```

**戻り値**

| 名前 | 型 | 説明 |
| - | - | - |
| experiments | Array | [Experiment オブジェクト](https://docs.kameleoon.com/ja/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment)のリスト。 |

## getActive

`getActive()` メソッドは、現在の訪問とページに対するアクティブな実験を返します。実験は、そのバリエーションコードが現在のセッションコンテキストで実行された場合にアクティブとなります。訪問中に他の URL で有効化した実験を取得するには、`getActivatedInVisit()` を使用してください。

```javascript theme={null}
if (Kameleoon.API.Experiments.getActive().length == 0) {
  Kameleoon.API.Events.trigger("No Experiments Events");
}
```

**戻り値**

| 名前 | 型 | 説明 |
| - | - | - |
| experiments | Array | [Experiment オブジェクト](https://docs.kameleoon.com/ja/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment)のリスト。 |

## getById

`getById()` メソッドは、指定された ID の実験を返します。

```javascript theme={null}
var experiment = Kameleoon.API.Experiments.getById(123456);

if (experiment && experiment.active) {
  console.log(experiment.name);
}
```

**引数**

| 名前 | 型 | 説明 |
| - | - | - |
| id | Number | 実験の ID。このフィールドは必須です。 |

**戻り値**

| 名前 | 型 | 説明 |
| - | - | - |
| experiment | Object | [Experiment オブジェクト](https://docs.kameleoon.com/ja/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment)。 |

## getByName

`getByName()` メソッドは、指定された名前の実験を返します。

```javascript theme={null}
var experiment = Kameleoon.API.Experiments.getByName("MyExperimentName");

if (experiment && experiment.active) {
  console.log(experiment.id);
}
```

**引数**

| 名前 | 型 | 説明 |
| - | - | - |
| name | String | 実験の名前。このフィールドは必須です。 |

**戻り値**

| 名前 | 型 | 説明 |
| - | - | - |
| experiment | Object | [Experiment オブジェクト](https://docs.kameleoon.com/ja/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment)。 |

## getTriggeredInVisit

`getTriggeredInVisit()` メソッドは、現在の訪問中にトリガーされたすべての実験を返します。

```javascript theme={null}
Kameleoon.API.Experiments.getTriggeredInVisit().forEach(function (experiment) {
  if (experiment.id == 123456) {
    console.log(experiment.name);
  }
});
```

**戻り値**

| 名前 | 型 | 説明 |
| - | - | - |
| experiments | Array | [Experiment オブジェクト](https://docs.kameleoon.com/ja/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment)のリスト。 |

## getActivatedInVisit

`getActivatedInVisit()` メソッドは、現在の訪問中に有効化されたすべての実験を返します。

```javascript theme={null}
Kameleoon.API.Experiments.getActivatedInVisit().forEach(function (experiment) {
  if (experiment.id == 123456) {
    console.log(experiment.name);
  }
});
```

**戻り値**

| 名前 | 型 | 説明 |
| - | - | - |
| experiments | Array | [Experiment オブジェクト](https://docs.kameleoon.com/ja/developer-docs/apis/activation-api-js/api-reference/objects/experiment-and-personalization.md#experiment)のリスト。 |

## trigger

`trigger()` メソッドは、ターゲティングセグメントの条件を回避して実験を強制的にトリガーします。このアクションは実験を開始しますが、有効化しない可能性があります。

```javascript theme={null}
let experimentID = 123456;
Kameleoon.API.Experiments.trigger(experimentID, true);
```

**引数**

| 名前 | 型 | 説明 |
| - | - | - |
| experimentID | Number | 実験の ID。このフィールドは必須です。 |
| trackingOnly | Boolean | バックエンド実装とフロントエンドトラッキングを持つハイブリッド実験では、バリエーションアセット (JS、CSS、リダイレクト) を実行せずにトラッキングアクションのみを実行するために **true** に設定します。省略された場合、このメソッドはデフォルトで **false** になります。 |
