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

# プレイヤー カスタム プロパティによる高度なセグメント化

> API、Game Manager、PlayStream ルールで設定したカスタム プロパティから動的な PlayFab プレイヤー セグメントを構築し、アクションとスケジュールされたライブ ops タスクを実行します。

> [!NOTE]
>
> カスタム プロパティによる高度なセグメント化機能はプライベート プレビュー中です。フィードバックの収集と顧客の使用に向けた最適化を続けるにあたり、継続的な変更が予想されます。

[カスタム プロパティ (パブリック プレビュー)](https://docs.xbox.com/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties.md) による高度なセグメント化により、独自のコマース、エンゲージメント、カスタム データを使用した動的なプレイヤー セグメントが可能になります。カスタム プロパティを使用してプレイヤーのカスタム情報を保存および管理し、それを使用して特定のプロパティに基づいてセグメントを作成できます。これらのプロパティは、API、Game Manager、または PlayStream ルールを使用してプレイヤーに設定でき、共通する特性に基づいてプレイヤーをグループ化するセグメントを定義するために使用できます。これらのセグメントを作成すると、プレイヤーに対してアクションを生成するために使用できます。さらに、これらのセグメントを使用してスケジュールされたタスクまたは手動タスクを定義できます。

## プレイヤー カスタム プロパティによるセグメントの作成

Player カスタム プロパティを使用したセグメントは、API または Game Manager のいずれかで作成できます。

### API 経由

* [Create Segment API](https://learn.microsoft.com/en-us/rest/api/playfab/admin/segments/create-segment) を使用してセグメントを作成します。
* [Update Segment](https://learn.microsoft.com/en-us/rest/api/playfab/admin/segments/update-segment) API を使用してカスタム プロパティ述語を追加します。

### Game Manager 経由

* [Game Manager](https://developer.playfab.com) にサインインします。
* **Players** ページに移動します。
* **Segments** タブに移動します。
* [セグメントを作成または更新します](https://docs.xbox.com/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart.md)。
* **Player** の下で **Add filter** を選択して、カスタム プロパティ述語を追加します。
* セグメントを保存します。

## カスタム プロパティを持つセグメントからプレイヤーをエクスポートする

1. カスタム プロパティ述語を参照する [セグメントを作成します](https://docs.xbox.com/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart.md)。
2. [ExportPlayersInSegment API](https://docs.xbox.com/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/segmentation-export-players-in-a-segment.md) を使用してプレイヤー プロファイルをエクスポートします

## スケジュールされたタスク

1. カスタム プロパティ述語を使用して、セグメントで [スケジュールされたタスクを実行します](https://docs.xbox.com/ja-jp/services/playfab/data-analytics/acting-data/scheduled-tasks.md)。

## クイック スタート シナリオ

### Economy V2 のカタログとインベントリを設定する

1. アイテムとして **Gold Bar** 通貨を作成します。
2. アイテムとして **Chocolate Bar** 通貨を作成します。
   * **必須パラメーター:** Friendly ID、Title、Start Date (3 月 1 日)

     ![Economy V2 カタログ セットアップ](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_2_economy_currencies.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=4d7717a09bb5a874d243bccd92600354)
3. カタログ アイテム **Chocolate Bar** を作成します:
   3a. **Settings -> Economy (V2) -> Catalog (V2)** に移動します。
   3b. **Catalog Settings** の下で、新しい **Content Type** - **Chocolate Bar** を追加し、**Save** を選択します。

   ![Catalog Settings](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_3_economy_settings.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=a8cc51e057c5f9605d157092b51f92b8)

   3c. **Engage -> Economy -> Catalog (V2) -> Items** に移動し、**New item** を選択して追加します。

   ![New Item](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_4_economy_new_item.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=db3b3f74eec0156f06d22c91c77ed450)

   3d. **ContentType** の下で **Chocolate Bar** を選択し、**Start date**、**Time**、および **Title** を設定して、**Save and Publish** を選択します。

   ![Save and Publish](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_5_create_chocolate_bar.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=3fc3d43286a7a0a5c27ae713dc6fb90b)

***

### 1. 25〜50 個の Gold Bars を消費するユーザー向けセグメントを作成する (仮想通貨の消費)

1. **Automation -> Rules** の下の **PlayStream Rules** ページに移動します。

2. `items_subtracted` イベントに対して、次の構成でルールを作成します:

   **条件:**

   * `Payload.ItemId == <id of Gold Bar currency>`
   * オプション: 他の金額の上書きを防ぐため、`Payload.Amount` を 25 と 50 の間に設定

   **アクション:**

   * カスタム プロパティを更新
     * `AmountSpent = Payload.Amount`
     * `ItemName = Payload.ItemId`

   ![仮想通貨ルール構成](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_6_gold_sub_rule.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=d60daa6e9d15493bda013cfddc1b277b)

3. **Players -> Segments** の下の **Segments** ページに移動します。

4. 次の構成で新しいセグメントを作成します:

   * Custom property (string) `ItemName` is `<Gold Bar id>`
   * Custom property (numeric) `AmountSpent` is `>= 25`
   * Custom property (numeric) `AmountSpent` is `<= 50`

   ![仮想通貨セグメント構成](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_7_gold_segment.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=b231ad97b5ae4bdac45fca1fd4d27a76)

***

### 2. Chocolate Bars を付与され、2025 年 4 月 1 日以降にそれらすべて (10 個) を使用したユーザー向けセグメントを作成する (インベントリ付与)

1. **Automation -> Rules** の下の **PlayStream Rules** ページに移動します。

2. `playfab.inventory.items_granted` イベントに対して、次の構成でルールを作成します:

   **条件:**

   * `Payload.ItemId == <Chocolate Bars id>`

   **アクション:**

   * プレイヤーのカスタム プロパティを更新
     * `AmountSpent = Payload.Amount`
     * `ItemUpdateDate = Timestamp`

   ![インベントリ付与ルール構成](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_8_chocolate_sub_rule.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=762437c85d96129ed24e7b85dfbcbf32)

3. **Players -> Segments** の下の **Segments** ページに移動します。

4. 次の構成でセグメントを作成します:

   * Custom property (string) `ItemName = <Chocolate Bars id>`
   * Custom property (datetime) `ItemUpdateDate > 4/1/2025`
   * Custom property (numeric) `ItemAmountSpent >= 10`

   ![インベントリ付与セグメント構成](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_9_chocolate_segment.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=c41112d6e5b2c6661ae1a28712c53ef5)

5. **動作の仕組み:** ルールは、各個別イベントの値でプレイヤーのカスタム プロパティを **更新** します。**時間の経過とともに値が累積または合計されることはありません**。たとえば、プレイヤーがチョコレート バーを 10 回別々に 1 本ずつ消費した場合、`ItemAmountSpent` プロパティは毎回 `10` ではなく `1` に設定されます。その結果、プレイヤーは `ItemAmountSpent >= 10` でフィルターされるセグメントには **含まれません**。累積または集計された値 (例: 複数のイベントにわたる合計消費アイテム数) を追跡する必要がある場合は、**Azure Function** または **CloudScript** を使用してカスタム ロジックを実装し、合計を計算・更新することをお勧めします。

6. **注:** シナリオ 1 の Gold Bars とシナリオ 2 の Chocolate Bars は、どちらも同じプロパティ `ItemName` に書き込みます。複数の値を追跡する場合、プレイヤーが 2 つのセグメント間で行ったり来たりするのを防ぐには、複数のプロパティ名が必要です。

***

### 3. 1 回の購入で 1 個の Chocolate Bar を購入したユーザー向けセグメントを作成する (カタログ購入)

1. **Automation -> Rules** の下の **PlayStream Rules** ページに移動します。

2. `playfab.inventory.items_purchased` イベントに対して、次の構成でルールを作成します:

   **条件:**

   * `Payload.ItemType == ChocolateBar`
   * `Payload.Amount >= 1`
   * `Timestamp >= 5 minutes ago`

   **アクション:**

   * カスタム プロパティを更新
     * `ChocolateBarPurchased = Payload.Amount`

   ![カタログ購入ルール構成](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_10_chocolate_purchase_rule.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=e0dabaa54932a0f2e7e0ed7898cbdb2b)

3. **Players -> Segments** の下の **Segments** ページに移動します。

4. 次の構成でセグメントを作成します:

   * Custom property (numeric) `ChocolateBarPurchased >= 1`

   ![カタログ購入セグメント構成](https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/advanced_segmentation_docs_11_chocolate_purchase_segment.png?fit=max\&auto=format\&n=IwSYTY5BEqd_x-HK\&q=85\&s=0690da9ce0f5575e8e1d19a201a2f557)

5. **動作の仕組み:** プレイヤーが **Chocolate Bar** を購入するたびに、ルール条件がトリガーされ、カスタム プロパティを追加するアクションが実行されます。その後、プレイヤーはセグメントに入り、構成された報酬や通知を受け取ることができます。


## Related topics

- [プレイヤー カスタム プロパティ](https://docs.xbox.com/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties.md)
- [プレイヤー カスタム プロパティのクイックスタート](https://docs.xbox.com/ja-jp/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties-qs.md)
- [プレイヤー セグメントの構成](https://docs.xbox.com/ja-jp/services/playfab/player-progression/player-data/player-segment-configuration.md)
- [Economy (Legacy) のプレイヤー セグメント向けカスタム ストア](https://docs.xbox.com/ja-jp/services/playfab/economy-monetization/economy/tutorials/custom-stores-for-player-segments.md)
- [プレイヤー カスタム プロパティの取得](https://docs.xbox.com/ja-jp/services/playfab/api-references/rest/server/player-data-management/get-player-custom-property.md)
