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

# PlayStream 事件功能

> 探索 PlayStream 事件管線功能，包括即時規則引擎、即時分群、事件偵錯工具、Webhook 和自訂 WriteEvent API。

PlayStream 為遊戲開發人員提供一系列功能，讓他們能分析從遊戲內事件收集的資料、獲得寶貴的深入解析並提升玩家參與度，也可用於 LiveOps。本文件會詳細檢閱每項功能。

## PlayStream 功能

* **事件管線** - 將遊戲的整個資料流程統一為單一資料串流。PlayFab 遊戲服務會自動將事件插入 PlayStream，您也可以使用我們的 WriteEvent API 用戶端和伺服器方法新增自訂事件。我們的 Marketplace 附加元件也會自動產生事件。事件會以 JSON 資料的形式管理。
* **即時規則引擎** - 評估複雜的規則以回應透過 PlayStream 傳入的事件，並觸發各種動作，包括 CloudScript。
* **即時分群系統** - 根據各種玩家屬性將玩家分組至區段。區段會即時計算，且始終保持最新狀態。當玩家進入或離開區段時，可能會自動觸發動作。
* **事件資料的即時視覺化** - 包括即時事件偵錯工具。
* 能夠將部分或全部事件**透過 Webhook 傳送至外部 Web 服務** - 這些可以透過安裝 Marketplace 附加元件自動設定，或手動設定以將事件傳送至您自己的伺服器。
* **事件封存** - 您可以在其中篩選、搜尋和檢視歷史事件，包括事件傳遞記錄。

<Note>
  PlayStream 現在除了傳統的 PlayStream 事件之外，也支援**實體事件**。若要深入了解，請在閱讀完本文後參閱 [搭配實體事件使用 PlayStream](/zh-TW/services/playfab/data-analytics/ingest-data/playstream-with-entity-events) 一文。
</Note>

讓我們更詳細地了解 PlayStream 功能。

### PlayStream 事件管線和監視器

查看事件管線實際運作最簡單的方式，就是透過 PlayStream 偵錯工具。當您選取遊戲的 **Title Overview** 區段並進入 **PlayStream Monitor** 索引標籤時，就會立即看到監視器。

PlayStream 監視器是遊戲所有事件的即時串流，包括您選擇使用我們的 WriteEvent API 方法傳送的任何自訂事件。

這在開發期間非常有價值，因為它讓您在測試用戶端和伺服器端程式碼時，能立即看到後端發生的情況。它也會直接連結到玩家帳戶，讓您可以根據正在處理的遊戲邏輯檢查這些帳戶。

每個事件中都有數個可選取的欄位。如果您選取「(i)」資訊圓圈，就會看到原始事件 JSON 資料。

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/ingest-data/playstream-event-rawjson.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=c20729a81bd459f0542c972904380b21" alt="事件原始 JSON 資料" width="491" height="425" data-path="images/playfab/data-analytics/ingest-data/playstream-event-rawjson.png" />

您也可以選取玩家的識別碼，直接跳至玩家的設定檔。某些其他事件也有可選取的欄位。

當您位於特定玩家檢視時，可以選取 **PlayStream** 索引標籤，這應該會顯示依該特定玩家篩選的即時監視器檢視。

### 玩家分群和動作

使用這些事件，您可以根據大多數玩家屬性設定區段，以定義使用者中的玩家群組。這一切都是即時發生的，因此即使在大規模情況下，也應該不會感受到延遲。

如果您可以將事件與想要用作區分因素的項目建立關聯，就可以為其建立區段。而且區段會根據玩家設定檔中的資料，回溯套用至*所有*玩家。因此，如果您定義 XP > 3,000 的玩家區段，則每個 XP > 3,000 的玩家現在都會在該區段中。

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/ingest-data/playstream-segment-highxp.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=58f1580ce5630fbbc419c04d383679d3" alt="高 XP 區段定義" width="1280" height="1080" data-path="images/playfab/data-analytics/ingest-data/playstream-segment-highxp.png" />

每當名為「Total\_XPGained」的統計資料變更時，就會評估這個特定區段。如果條件 (> 3000) 評估為 **TRUE**，玩家就會進入「High XP Players」區段，並觸發對應的動作。在此案例中，它會傳送推播通知並授與金幣給玩家。
您也可以在玩家離開區段時觸發不同的自訂動作，讓您能因此進行任何其他需要的變更。
有各種基本動作可供使用，包括授與物品給玩家、授與虛擬貨幣、變更統計資料、封鎖玩家、傳送電子郵件給玩家，或傳送推播通知。您也可以改為觸發執行自訂 CloudScript。

### 規則和動作

上述相同的動作系統，也可用來回應來自遊戲的特定事件。例如，下方顯示的規則示範了當偵測到自訂事件 (**Client\_StoreVisit**) 時，玩家會收到一些虛擬貨幣，並收到感謝其造訪的推播通知。

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/ingest-data/playstream-rule.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=8e7f773af37397737f70311745d847d8" alt="回應自訂事件的規則" width="1280" height="1080" data-path="images/playfab/data-analytics/ingest-data/playstream-rule.png" />

使用規則和動作，您無需對遊戲用戶端進行任何變更，即可影響遊戲中的 LiveOps 行為。

### Webhook

您也可以設定 Webhook，讓通過 PlayStream 的部分或全部事件推送至外部服務。

例如，您可以使用下方顯示的功能，在任何玩家登入時呼叫您自己的後端伺服器。

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/ingest-data/playstream-webhook.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=4794b4ccca63f0f8640442fbc147c7f1" alt="Webhook 設定" width="1280" height="1080" data-path="images/playfab/data-analytics/ingest-data/playstream-webhook.png" />

PlayStream Webhook 是對您所提供端點的 POST 呼叫，會在呼叫本文中傳遞事件的所有資料。使用此機制，您就可以利用自己的自訂服務，對即時資料啟用其他自訂動作。

### Data Explorer

根據預設，事件會保留一段時間，時間長短取決於您的服務層級。您可以在兩個地方檢視所有事件記錄：您可以在 **Data Explorer Basic** 索引標籤或 **Data Explorer Advanced** 索引標籤中檢視遊戲的所有事件。兩者都位於 **Game Manager** 的 **Data** 區段下。

### 自訂標記

[自訂標記](/zh-TW/services/playfab/data-analytics/ingest-data/playstream-custom-tags)功能可讓遊戲開發人員以業務特定的中繼資料，進一步充實其標準 PlayStream 事件。

這是一項提升使用體驗的功能，旨在讓您更輕鬆、更具擴充性地在 PlayFab 之上進行建置。

### 自訂屬性

此功能可讓您儲存及存取有關玩家的其他關鍵資料點。
例如，您可以使用自訂屬性來儲存和擷取與玩家偏好設定相關的資料，例如他們最喜愛的遊戲模式或角色類型。如此一來，您就可以在區段、相關聯的動作 (例如 CloudScript) 或實驗中建立更有針對性的分群，為玩家提供量身打造的體驗。

## V1 與 V2 事件

PlayStream 提供 V1 和 V2 事件，下表提供每種事件類型的功能比較：

| 功能 | V1 (玩家/遊戲/角色) | V2 (以實體為基礎) |
| - | - | - |
| Event Explorer | 是 | 是 |
| Data Connections | 是 | 是 |
| PlayStream 偵錯工具 | 是 | 是 |
| 動作 | Execute Function <br /> Send Email <br /> Push Notification <br /> CloudScript <br /> Player Ban Action <br /> GrantVC <br /> Delete Player <br /> Increment Statistic | Execute Function <br /> Send Email <br /> Inventory/AddVC <br /> Inventory/GrantItem |
| 區段 | 是 | 否 |
| 事件觸發規則 | 是 | 是 |
| Webhook | 是 | 否 |
| 自訂屬性 | 是 | 是 |
| S3 Archiver (舊版) | 是 | 否 |

## PlayStream 如何協助強化您的遊戲

以下是一些範例，說明如何使用 PlayStream 強化您的遊戲並發揮其完整潛力：

* 在玩家登入、完成教學關卡或達到特定里程碑時觸發動作，例如授與物品和虛擬貨幣，並使用這些資料為玩家量身打造體驗。
* 自動標記或封鎖有作弊行為的玩家。
* 收集有關玩家進度、遊戲機制和關卡難度的資料。使用這些資料針對遊戲平衡和調整做出明智的決策，以確保為玩家提供具挑戰性又有趣的體驗。
* 鼓勵並獎勵遊戲內的正向社交互動。
* 在玩家達到里程碑、進行購買或完成關卡時，自動傳送推播通知或電子郵件。


## Related topics

- [排行榜與 PlayStream 和 Telemetry](/zh-TW/services/playfab/community/leaderboards/leaderboards-with-playstream-and-telemetry.md)
- [搭配 PlayStream 和遙測使用統計資料](/zh-TW/services/playfab/player-progression/statistics/statistics-with-playstream-and-telemetry.md)
- [搭配實體事件使用 PlayStream](/zh-TW/services/playfab/data-analytics/ingest-data/playstream-with-entity-events.md)
- [PlayFab 的 PlayStream 事件模型參考](/zh-TW/services/playfab/api-references/events/index.md)
- [PlayStream 事件](/zh-TW/services/playfab/data-analytics/ingest-data/playstream-events.md)
