> ## 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 事件管道功能，包括实时规则引擎、实时分段、事件调试器、Webhooks 和自定义 WriteEvent API。

PlayStream 为游戏开发者提供了一系列功能，使他们能够分析从游戏内事件收集的数据，获得有价值的见解，并增强玩家参与度，还可用于 LiveOps。本文档提供了这些功能的详细回顾。

## PlayStream 功能

* **事件管道** - 将来自你游戏的整个数据流统一到一个单一的数据流中。PlayFab 游戏服务将自动将事件插入到 PlayStream 中，你可以使用我们的 WriteEvent API 客户端和服务器方法添加自定义事件。我们的 Marketplace 加载项也会自动生成事件。事件作为 JSON 数据进行管理。
* **实时规则引擎** - 通过 PlayStream 响应传入事件评估复杂规则，并触发各种操作，包括 CloudScript。
* **实时分段系统** - 根据各种玩家属性将玩家分组到分段中。分段是实时计算的，并始终保持最新状态。当玩家进入或退出分段时，可能会自动触发操作。
* **事件数据的实时可视化** - 包括实时事件调试器。
* 通过 **Webhooks 将部分或全部事件发送到外部 Web 服务**的能力 - 可以通过安装 Marketplace 加载项自动配置，或手动配置以将事件发送到你自己的服务器。
* **事件存档** - 你可以在其中筛选、搜索和查看历史事件 - 包括事件传递历史记录。

> [!NOTE]
>
> PlayStream 现在支持**实体事件**以及经典的 PlayStream 事件。要了解更多信息，请在完成本文后参考 [具有实体事件的 PlayStream](/zh-CN/services/playfab/data-analytics/ingest-data/playstream-with-entity-events.md) 文章。

让我们更详细地看一下 PlayStream 功能。

### PlayStream 事件管道和监视器

查看事件管道运作情况的最简单方法是通过 PlayStream 调试器。一旦你选择你的游戏的 **Title Overview** 部分并进入 **PlayStream Monitor** 选项卡，你就会注意到监视器。

PlayStream 监视器是你游戏所有事件的实时流，包括你选择使用我们的 WriteEvent API 方法发送的任何自定义事件。

这在开发期间非常有价值，因为它为你提供了一种立即查看后端发生的情况的方法，同时你测试客户端和服务器端代码。它还将你直接链接到玩家帐户，以便你可以针对你正在处理的游戏逻辑对其进行检查。

每个事件中有几个可选字段。如果你选择"(i)"信息圆圈，你将看到原始事件 JSON 数据。

![事件原始 JSON 数据](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)

你还可以选择玩家的 ID 直接跳转到玩家的配置文件。某些其他事件也有可选字段。

当你在特定玩家视图中时，你可以选择 **PlayStream** 选项卡，它应该向你显示按该特定玩家筛选的实时监视器视图。

### 玩家分段和操作

使用这些事件，你可以设置分段，这些分段基于大多数玩家属性在你的用户中定义玩家。这一切都是实时发生的 - 因此即使在大规模情况下也应该没有感知延迟。

如果你可以将事件与要用作差异化因素的事物联系起来，你就可以为它创建一个分段。分段将根据配置文件中的数据追溯应用于*所有*玩家。因此，如果你定义一个 XP > 3,000 的玩家分段，那么每个 XP > 3,000 的玩家现在都将在该分段中。

![High XP 分段定义](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)

只要名为 "Total\_XPGained" 的统计信息发生更改，就会评估此特定分段。如果条件 (> 3000) 计算为 **TRUE**，则玩家将进入"High XP Players"分段，并将触发相应的操作。在这种情况下，它将向玩家发送推送通知并授予黄金。
你还可以在玩家离开分段时触发不同的自定义操作，从而使你可以根据需要进行任何其他更改。
有各种可用的基本操作，包括向玩家授予物品、授予虚拟货币、更改统计信息、封禁玩家、向玩家发送电子邮件或发送推送通知。你还可以触发要运行的自定义 CloudScript。

### 规则和操作

上面显示的相同操作系统也可以用于响应来自你游戏的特定事件。例如，下面显示的规则演示了当看到自定义事件 (**Client\_StoreVisit**) 时，玩家如何收到一些虚拟货币，并收到感谢他们访问的推送通知。

![响应自定义事件的规则](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)

使用规则和操作，你可以在不对游戏客户端进行任何更改的情况下影响游戏中的 LiveOps 行为。

### Webhooks

你还可以设置 Webhooks，以便通过 PlayStream 的部分或全部事件将被推送到外部服务。

例如，你可以使用下面显示的功能在任何玩家登录时调用你自己的后端服务器。

![Webhook 配置](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)

PlayStream Webhooks 是对你提供的终结点的 POST 调用，它在调用的正文中传递事件的所有数据。使用此机制，你可以使用自己的自定义服务在实时数据上启用其他自定义操作。

### 数据资源管理器

默认情况下，事件会保留一定时间，这取决于你的服务层。你可以在两个地方查看所有事件历史记录 - 你可以在 **Data Explorer Basic** 选项卡或 **Data Explorer Advanced** 选项卡中查看你 title 的所有事件。两者都在 **Game Manager** 的 **Data** 部分下。

### 自定义标记

[自定义标记](/zh-CN/services/playfab/data-analytics/ingest-data/playstream-custom-tags.md) 功能允许游戏开发者使用业务特定的元数据进一步丰富他们的标准 PlayStream 事件。

这是一项旨在使在 PlayFab 之上进行构建更容易和更具可扩展性的生活质量功能。

### 自定义属性

此功能允许你存储和访问有关玩家的其他键数据点。
例如，你可以使用自定义属性来保存和检索与玩家偏好相关的数据，例如他们最喜欢的游戏模式或角色类型。通过这样做，你可以创建更具针对性的分段，从而在分段、CloudScript 等关联操作或实验中为玩家提供量身定制的体验。

## V1 与 V2 事件

PlayStream 提供 V1 和 V2 事件，下表提供了每种事件类型的功能比较：

| 功能 | V1（Player/Title/Character） | V2（基于实体） |
| - | - | - |
| 事件资源管理器 | 是 | 是 |
| 数据连接 | 是 | 是 |
| PlayStream 调试器 | 是 | 是 |
| 操作 | Execute Function  Send Email  Push Notification  CloudScript  Player Ban Action  GrantVC  Delete Player  Increment Statistic | Execute Function  Send Email  Inventory/AddVC  Inventory/GrantItem |
| 分段 | 是 | 否 |
| 事件触发规则 | 是 | 是 |
| Webhooks | 是 | 否 |
| 自定义属性 | 是 | 是 |
| S3 Archiver（旧版） | 是 | 否 |

## PlayStream 如何为你的游戏提供支持

以下是如何使用 PlayStream 为你的游戏提供支持并释放其全部潜力的一些示例：

* 当玩家登录、完成教程关卡或达到特定里程碑时触发操作（如授予物品和虚拟货币），并使用此数据为玩家定制体验。
* 自动标记或封禁表现出作弊行为的玩家。
* 收集有关玩家进度、游戏机制和关卡难度的数据。使用此数据就游戏平衡和调整做出明智的决策，以确保为玩家提供具有挑战性但愉快的体验。
* 鼓励并奖励游戏中的积极社交互动。
* 在玩家达到里程碑、进行购买或完成关卡时发送自动推送通知或电子邮件。


## Related topics

- [使用 PlayStream 和遥测的统计信息](/zh-CN/services/playfab/player-progression/statistics/statistics-with-playstream-and-telemetry.md)
- [排行榜与 PlayStream 和遥测](/zh-CN/services/playfab/community/leaderboards/leaderboards-with-playstream-and-telemetry.md)
- [具有实体事件的 PlayStream](/zh-CN/services/playfab/data-analytics/ingest-data/playstream-with-entity-events.md)
- [PlayStream 事件模型参考](/zh-CN/services/playfab/api-references/events/index.md)
- [使用自定义标记自定义事件](/zh-CN/services/playfab/data-analytics/ingest-data/playstream-custom-tags.md)
