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

# プレイヤーセグメントの構成

> PlayFab のプレイヤーセグメントを構成し、データ、動作、進行ルールに基づいてプレイヤーをグループ化することで、ターゲットを絞ったアクションや分析を実現します。

セグメント構成ページでは、新しいセグメントや既存のセグメントを構成できます。以下が可能です:

* 名前の調整。
* フィルターの定義。
* タスクの割り当て。

各セグメントを使うと、有用または関心のあるプレイヤーのグループを定義し、そのグループに対して独自のアクションを実行できます。

## セグメントを作成またはアクセスする方法

セグメント構成にアクセスするには:

1. 左側で **Players** エリアを選択します。
2. **Segments** タブを選択します。その後、以下のいずれかを行えます:

   * **New Segment** ボタンを使用して新しいセグメントを作成し、構成します\*。

   * 既存のセグメントを見つけ、その **Name** ラベルを選択してセグメントを構成します。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-create-or-access-player-segments.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=103084da711102f6e6d825c343717304" alt="Game Manager - Players - Create or access Segments" width="1440" height="830" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-create-or-access-player-segments.png" />

## セグメントを構成する方法

### 前提条件

セグメントを構成するには、いくつかの要素があらかじめ存在している必要があります。次のものが必要です:

* PlayFab に定義された、特定の特徴を持つプレイヤーと持たないプレイヤー。
* 定義された CloudScript PlayStream フック。

<Note>
  詳しくは [Using CloudScript actions with PlayStream](/services/playfab/data-analytics/acting-data/action-rules-using-cloudscript-actions-with-playstream) を参照してください。
</Note>

### 構成

この例では、次のことを行います:

* 「カナダ出身のすべてのプレイヤー」という特徴を用いてセグメントを構成します。
* セグメントに入ったプレイヤーごとに CloudScript 関数 **helloWorld** を実行します。

プレイヤーを *特徴づける* 要素として、以下のようなものがあります:
[Set up your first virtual currency](/services/playfab/economy-monetization/economy-v2/tutorials/currencies)

* ログイン時刻
* リンクされているデバイスの種類
* タグ
* 実世界での場所
* 統計値
* 仮想通貨の値
* 実際のお金による購入 など

<Note>
  プレイヤーの所在地は *多くの* 選択肢のうちの 1 つに過ぎず、この例のためだけに必要としています。国 / リージョンの要件は、お好みの別のフィルターに置き換えていただいて構いません。
</Note>

セグメントを定義すると、プレイヤーがセグメントに入ったり離れたりしたときに実行するさまざまなアクションのオプションが利用できます。

CloudScript は最も柔軟性の高いアクションであり、セグメント遷移時点でのプレイヤーおよびセグメント情報に対する完全な制御が得られます。

[CloudScript ハンドラー](/services/playfab/data-analytics/acting-data/action-rules-using-cloudscript-actions-with-playstream) の 2 番目のパラメーター *context* を利用して、プレイヤーとセグメント遷移を特定してください。その後は、[インベントリアイテム](/services/playfab/player-progression/player-data/player-inventory)、[仮想通貨](/services/playfab/economy-monetization/economy-v2/tutorials/currencies)、[プレイヤーデータ](/services/playfab/player-progression/player-data/quickstart)、[統計](/services/playfab/community/leaderboards/tournaments-leaderboards/using-player-statistics) の付与など、プレイヤーに対して任意のアクションを実行できます。

ここに示す例では、セグメント構成は 4 つの簡単な手順で行えます。

1. 適切な **Segment name (1)** を割り当てます (この例では **Canadian Players**)。

2. **Player (2)** エリアで、プレイヤーがセグメントに入るために満たすべき条件を割り当てます。 (この例では、厳密な値 **Canada** を持つ **Location (country/region)** フィルターが必要です。)

3. **Type** エリアで、入場時のトリガーに対して **Execute CloudScript (3)** アクションを追加します。

4. 実行したい関数 (**helloWorld (3)**) を実行するようアクションを構成します。

5. **Save Segment** ボタン **(4)** を使用して変更を保存します。

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/game-manager-players-new-segment-configuration.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=9db19ecdc9125a6b932e577264bd3c7b" alt="Game Manager - players - new segment configuration" width="547" height="1060" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-players-new-segment-configuration.png" />

## 高度なセグメントフィルタリング

セグメントフィルタリングを使うと、セグメントに含めるプレイヤーを定義できます。

厳密に言えば、下の画面の左側にあるエリア **(1)** は、少なくとも 1 つのグループに属するプレイヤーの集合です。

**Group (2)** は、**filters (3)** と呼ばれる定義済み条件をすべて満たすプレイヤーの集合です。

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/game-manager-players-advanced-segment-filtering.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=b71aec75d9899c6068b56063a799cd74" alt="Game Manager - players - advanced segment filtering" width="756" height="455" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-players-advanced-segment-filtering.png" />

したがって、セグメントに属するには:

* プレイヤーは少なくとも 1 つのグループに属する必要があります。

  * グループに属するには、プレイヤーはすべての条件 (フィルター) を満たす必要があります。
  * これは OR / AND 演算子で示されます:

    * フィルターは AND 演算子で結合されます。
    * グループは OR 演算子で結合されます。

上に示したスクリーンショットは、セグメントの定義方法の一例です。このセグメントは 2 つのグループから構成されています:

1. 最初のグループは 2 つのフィルターで定義されています:

   * プレイヤーはカナダ出身でなければなりません。
     a. かつ、Apple のプッシュ通知を有効にしている必要があります。
   * 2 番目のグループも *同様に* カナダ出身のプレイヤー向けですが、Google のプッシュ通知を有効にしている必要があります。

結果として、カナダ出身で Google または Apple のプッシュ通知を有効にしているプレイヤーのセグメントが得られます。

各フィルターには独自の構成と目的があります。2017 年 4 月 30 日時点では、次のフィルターを利用できます:

* **All Players** フィルター - このフィルターには構成がなく、すべてのプレイヤーのセグメントを作成できる点で特殊です。新規プレイヤー全員に対して自動操作を実行したい場合に便利です (セグメントアクションは本チュートリアルの後半で説明します)。

* **First login (date)** フィルター - 初回ログイン日時に基づくフィルタリングが可能です (例: 2017 年 1 月 1 日以降に初めてログインしたプレイヤー)。

* **First login (timespan)** フィルター - 現在時刻を基準とした初回ログインの経過時間に基づくフィルタリングが可能です (例: \[現在から] 20 分前に初めてサインインしたプレイヤー)。

* **Last login (date)** フィルター - 最終ログイン日時に基づくフィルタリングが可能です (例: 2017 年 1 月 1 日以降サインインしていないプレイヤー)。

* **Last login (timespan)** フィルター - 現在時刻を基準とした最終ログインの経過時間に基づくフィルタリングが可能です (例: \[現在から] 1 週間サインインしていないプレイヤー)。

* **Linked user account to** フィルター - ユーザーがリンクしているアカウントに基づくフィルタリングが可能です (例: Steam アカウントとメールをリンクしているプレイヤー)。

* **Location (country/region)** フィルター - プレイヤーの国 / リージョンに基づくフィルタリングが可能です (例: カナダ出身のプレイヤー)。

* **Push notifications enabled with** フィルター - プレイヤーのプッシュ通知の設定と機能に基づくフィルタリングが可能です (例: Google プッシュ通知を有効にしているプレイヤー)。

* **Statistics value** フィルター - 独自のカスタム統計属性に基づくフィルタリングが可能です (例: 合計 20000 ダメージを与えたプレイヤー)。

* **Tag** フィルター - プレイヤーが特定のタグを持つかどうかに基づくフィルタリングが可能です (例: *cheater* タグを持つプレイヤー)。

* **Total value to date in USD** フィルター - プレイヤーがゲーム内で使用した USD 通貨の金額に基づくフィルタリングが可能です (例: 30 ドル以上使用したプレイヤー)。

* **Value to date** フィルター - プレイヤーがゲーム内で使用した特定の通貨の量に基づくフィルタリングが可能です (例: 50 RUB を使用したプレイヤー)。

* **User Origination** フィルター - プレイヤーがゲームを開始する際に最初に使用した認証方法に基づくフィルタリングが可能です。

<Note>
  このフィルターのポイントは、プレイヤーが最初は例えば iOS デバイス ID による認証で始めるかもしれないという点です。後で GameCenter アカウントがリンクされる場合もあります。この場合、プレイヤーオリジネーションは iOS デバイス ID になります (例: iOS デバイス ID で初回サインインしたプレイヤー)。
</Note>

* **Virtual currency balance** フィルター - プレイヤーのカスタム仮想通貨残高に基づくフィルタリングが可能です (例: Crystal を 50 未満保有しているプレイヤー)。

## アクションを管理する方法

各アクションを実行するには *トリガー* が必要です。一部のアクションは手動で実行され、ページから直接トリガーされます。

しかし場合によっては、 *あなた* がトリガー、つまりアクションを実行させるイベントを選択する必要があります。トリガーはアクションのコンテキストを定義します。

たとえば、Player Entered Segment トリガーは、プレイヤーへの参照を含むコンテキストを渡します。

**Actions** パネルの一般的なワークフローは次のとおりです:

1. **event condition (1)** (別名 *trigger*) を選択します。
2. アクションの **Type** を選択します。

<Note>
  PlayFab はさまざまなアクションを提供します。もしより柔軟性の高いアクションが必要になった場合は、CloudScript アクションを検討してください。このアクションタイプでは、独自の CloudScript 関数を実行できます。
</Note>

3. **アクションを構成する (3)** (各アクションタイプ固有)。
4. トリガーから **アクションを削除する (4)**。
5. **Add Action (5)** を使用してトリガーにアクションを追加します。

<img src="https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/player-progression/player-data/tutorials/game-manager-players-actions-panel.png?fit=max&auto=format&n=N3T1ucKV7zIMBudj&q=85&s=4f325d461a3607c8d4ff66da3cdc9ff6" alt="Game Manager - Players - Actions panel" width="540" height="470" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-players-actions-panel.png" />

## プレイヤーセグメントを確認する方法

Player Segments ページで、プレイヤーが属しているセグメントを確認できます。

Player Segments にアクセスするには:

1. **Players** セクションを選択します。
2. **Players** タブを選択します。
3. 確認したいプレイヤーの **ID** ラベルを選択します。
4. Players ツールバーの **Segments** を選択します。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-access-player-segments-2.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=4dde269b1f3c1f0a8ec0749d44f0960a" alt="Game Manager - players - access segments" width="1300" height="600" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-access-player-segments-2.png" />

Player Segments ページには、以下が表示されます:

* **Player ID (1)** ラベルは、現在確認しているプレイヤーを識別します。
* **Segment** テーブルには、プレイヤーが属するすべてのセグメントのリストが表示されます。
* **Segment name** ラベル **(2)** を選択すると、セグメントを構成できます。

<img src="https://mintcdn.com/microsoft-4404708b/U1LR64ZWxo45eXwl/images/playfab/player-progression/player-data/tutorials/game-manager-player-segments-page.png?fit=max&auto=format&n=U1LR64ZWxo45eXwl&q=85&s=9529868ac31a359588f489936456543d" alt="Game Manager - Players - Access Segments" width="600" height="700" data-path="images/playfab/player-progression/player-data/tutorials/game-manager-player-segments-page.png" />


## Related topics

- [プレイヤーセグメント](/ja-jp/services/playfab/player-progression/player-data/player-segments.md)
- [セグメントの構成](/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/segmentation-configuration.md)
- [プレイヤー カスタム プロパティによる高度なセグメント化](/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/advanced-segmentation.md)
- [Economy V2 のターゲット オファー](/ja-jp/services/playfab/economy-monetization/economy-v2/player-segmented-monetization/targeted-offers.md)
- [セグメントのプレイヤーをカウントするチュートリアル](/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/segmentation-player-count.md)
