> ## 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.

# 使用玩家自訂屬性進行進階區段

> 根據透過 API、Game Manager 或 PlayStream 規則設定的自訂屬性，建立動態 PlayFab 玩家區段，以驅動動作和已排程的即時營運工作。

# 使用自訂屬性進行進階區段 (公開預覽)

<Note>
  使用自訂屬性進行進階區段功能目前為私人預覽版。隨著我們持續收集意見反應並針對客戶使用情況進行最佳化，預期此功能會持續變更。
</Note>

使用[自訂屬性 (公開預覽)](/zh-TW/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties) 進行進階區段，可讓您使用自己的商務、參與和自訂資料建立動態玩家區段。您可以使用自訂屬性儲存和管理玩家的自訂資訊，然後根據這些特定屬性建立區段。這些屬性可以透過 API、Game Manager 或 PlayStream 規則在玩家上設定，並可用來定義根據共同特徵將玩家分組的區段。建立這些區段之後，就可以用來對玩家產生動作。此外，這些區段也可用來定義已排程或手動工作。

## 使用玩家自訂屬性建立區段

您可以透過 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** 索引標籤。
* [建立或更新區段](/zh-TW/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart)。
* 在 **Player** 下選取 **Add filter**，以新增自訂屬性述詞。
* 儲存區段。

## 從具有自訂屬性的區段匯出玩家

1. [建立](/zh-TW/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart)參考自訂屬性述詞的區段。
2. 使用 [ExportPlayersInSegment API](/zh-TW/services/playfab/live-service-management/game-configuration/segmentation/segmentation-export-players-in-a-segment) 匯出玩家設定檔

## 已排程的工作

1. 使用自訂屬性述詞在區段上[執行已排程的工作](/zh-TW/services/playfab/data-analytics/acting-data/scheduled-tasks)。

## 快速入門情境

### 設定 Economy V2 目錄和庫存

1. 建立 **Gold Bar** 貨幣作為項目。
2. 建立 **Chocolate Bar** 貨幣作為項目。
   * \*\*必要參數：\*\*Friendly ID、Title 和 Start Date (3 月 1 日)\\
     <img src="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" alt="Economy V2 目錄設定" width="1715" height="578" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_2_economy_currencies.png" />
3. 建立目錄項目 **Chocolate Bar**：\
   3a. 瀏覽至 **Settings -> Economy (V2) -> Catalog (V2)**。\
   3b. 在 **Catalog Settings** 下，新增一個 **Content Type** - **Chocolate Bar**，然後選取 **Save**。

   <img src="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" alt="目錄設定" width="1184" height="900" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_3_economy_settings.png" />

   3c. 前往 **Engage -> Economy -> Catalog (V2) -> Items**，然後選取 **New item** 以進行新增。

   <img src="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" alt="新項目" width="1717" height="570" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_4_economy_new_item.png" />

   3d. 在 **ContentType** 下選取 **Chocolate Bar**，設定 **Start date**、**Time** 和 **Title**，然後選取 **Save and Publish**。

   <img src="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" alt="儲存並發佈" width="1495" height="757" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_5_create_chocolate_bar.png" />

***

### 1. 為花費 25 到 50 個 Gold Bar 的使用者建立區段 (已花費的虛擬貨幣)

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`

   <img src="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" alt="虛擬貨幣規則設定" width="1361" height="784" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_6_gold_sub_rule.png" />

3. 瀏覽至 **Players -> Segments** 下的 **Segments** 頁面。

4. 建立具有下列設定的新區段：

   * 自訂屬性 (string) `ItemName` 為 `<Gold Bar id>`
   * 自訂屬性 (numeric) `AmountSpent` 為 `>= 25`
   * 自訂屬性 (numeric) `AmountSpent` 為 `<= 50`

   <img src="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" alt="虛擬貨幣區段設定" width="842" height="845" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_7_gold_segment.png" />

***

### 2. 為在 2025 年 4 月 1 日之後獲得 Chocolate Bar 並全部使用 (10 個) 的使用者建立區段 (已授與的庫存)

1. 瀏覽至 **Automation -> Rules** 下的 **PlayStream Rules** 頁面。

2. 為 `playfab.inventory.items_granted` 事件建立具有下列設定的規則：

   **條件：**

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

   **動作：**

   * 更新玩家自訂屬性
     * `AmountSpent = Payload.Amount`
     * `ItemUpdateDate = Timestamp`

   <img src="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" alt="已授與庫存規則設定" width="1341" height="833" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_8_chocolate_sub_rule.png" />

3. 瀏覽至 **Players -> Segments** 下的 **Segments** 頁面。

4. 建立具有下列設定的區段：

   * 自訂屬性 (string) `ItemName = <Chocolate Bars id>`
   * 自訂屬性 (datetime) `ItemUpdateDate > 4/1/2025`
   * 自訂屬性 (numeric) `ItemAmountSpent >= 10`

   <img src="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" alt="已授與庫存區段設定" width="899" height="1250" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_9_chocolate_segment.png" />

5. **運作方式：**規則會以每個個別事件的值**更新**玩家自訂屬性，**它不會隨時間累積或加總值**。例如，如果玩家分十次各花費 1 個 Chocolate Bar，`ItemAmountSpent` 屬性每次都會設定為 `1`，而不是 `10`。因此，該玩家**不會**被納入篩選 `ItemAmountSpent >= 10` 的區段中。如果您需要追蹤累計或彙總值 (例如在多個事件中花費的項目總數)，建議使用 **Azure Function** 或 **CloudScript** 實作自訂邏輯來計算和更新總數。

6. \*\*注意：\*\*情境 1 中的 Gold Bar 和情境 2 中的 Chocolate Bar 都會寫入同一個屬性 `ItemName`。如果您想追蹤多個值，則需要使用多個屬性名稱，以避免玩家在 2 個區段之間反覆切換。

***

### 3. 為單次購買 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`

   <img src="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" alt="目錄購買規則設定" width="1686" height="1080" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_10_chocolate_purchase_rule.png" />

3. 瀏覽至 **Players -> Segments** 下的 **Segments** 頁面。

4. 建立具有下列設定的區段：

   * 自訂屬性 (numeric) `ChocolateBarPurchased >= 1`

   <img src="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" alt="目錄購買區段設定" width="626" height="1255" data-path="images/playfab/data-analytics/acting-data/advanced_segmentation_docs_11_chocolate_purchase_segment.png" />

5. \*\*運作方式：\*\*每當玩家購買 **Chocolate Bar** 時，就會觸發規則條件，執行新增自訂屬性的動作。接著玩家會進入區段，並可收到設定的獎勵或通知。


## Related topics

- [玩家自訂屬性快速入門](/zh-TW/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties-qs.md)
- [玩家自訂屬性](/zh-TW/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties.md)
- [玩家區段設定](/zh-TW/services/playfab/player-progression/player-data/player-segment-configuration.md)
- [PFPlayerDataManagementServerUpdatePlayerCustomPropertiesAsync](/zh-TW/services/playfab/api-references/c/pfplayerdatamanagement/functions/pfplayerdatamanagementserverupdateplayercustompropertiesasync.md)
- [列出玩家自訂屬性](/zh-TW/services/playfab/api-references/rest/client/player-data-management/list-player-custom-properties.md)
