> ## 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 请求中的键值对集合。

# 将自定义标记与 PlayStream 事件一起使用

自定义标记是工作室可以选择性地包含在每个 API 请求中的键值对集合。它们对于用更多工作室特定的元数据（例如版本号、外部跟踪标识符等）来丰富标准 PlayStream 事件非常有用。

自定义标记扩展了你可以使用 PlayStream 事件的方式。基本的 PlayStream 架构是固定的，缺乏可扩展性，但它允许我们构建常见的指标和分析。架构的固定性质限制了游戏工作室以高效且经济的方式自定义其数据的能力，以及收集特定数据点的能力。自定义标记提供了扩展架构的方法，以实现更大的灵活性和功能。

## 你可以用自定义标记做什么？

使用自定义标记可以完成许多事情。以下是一些建议，但在使用它们时请尽情发挥你的创造力。

### 自动化

PlayStream 元数据可以作为触发某些事件的条件。当需要完成任务时，PlayFab 客户可以设置一条规则："如果 \[自定义标记] 满足 xyz 要求，则触发操作 A。"

你可以将 CloudScript 与自定义标记集成以实现自动化。CloudScript [操作和规则](/services/playfab/data-analytics/acting-data/action-rules-overview) 允许你根据特定条件自动触发事件。

例如，如果你的游戏工作室正在为你的游戏投资绩效营销，并且你正在运行各种不同的营销活动来获取新玩家，你现在可以跟踪获取玩家的营销活动，并将该活动 ID 添加到所有 PlayStream 事件中。然后你可以使用该活动 ID 来自动化流程。例如，如果你的广告承诺"注册即可获得 1,000 个免费金币"，则发送"new player"事件并使用营销活动来决定给玩家什么激励。例如，"如果营销活动 = 'FREE\_GOLD\_COINS' 则给玩家 1,000 个金币。

### 遥测

PlayStream 元数据可以协助数据收集和分析。例如，你可以从非 PlayFab 服务发送自定义标记作为你的 PlayStream 事件数据的一部分，并能够在其流经数据管道时对其进行跟踪。
如果你已经有自己的分析系统（例如基于某个标识符），你可以通过在 PlayStream 事件中作为自定义标记的一部分传递该标识符来轻松集成和合并新数据。

你可以包括活动 ID 或其他分析标识符来分析收入，确定哪个活动产生了最高的新玩家获取、收入流或客户价值。

## 数据流

一旦从 API 请求收到自定义标记，数据就会成为 PlayStream 事件的一部分，然后通过 PlayStream 管道流动，存储在 Kusto 中，即 PlayFab 的后端数据仓库。

## 限制

* 自定义标记具有以下限制：
  * 不超过 10 个键值对
  * 每个键字符串不能超过 64 个 utf8 字符
  * 每个值字符串不能超过 128 个 utf8 字符
  * 仅在 API 调用中受支持（即不受 Game Manager UI 支持）

## 入门

以下示例请求向你展示如何将自定义标记添加到你的 JSON 请求中。
`CustomTags` 会随相关的 PlayStream 事件一起流经数据管道，你可以稍后访问此数据以进行可操作和分析目的。

### 示例请求

```json theme={null}
POST https://titleId.playfabapi.com/Server/WritePlayerEvent
{
  "PlayFabId": "{{PlayFabId}}",
  "EventName": "player_defeated_enemy",
  "Timestamp": "2016-03-07T00:00:00Z",
  "Body": {
    "Enemy": "guardian",
    "Damage": 5,
    "Coordinates": {
      "X": 123.4,
      "Y": 543.2
    }
  },
  "CustomTags": {
    "correlation_id": "123abc",
    "build_number": "1.0.0.0",
    "platform": "iOS"
  }
}
```

### 示例响应

添加自定义标记不会更改你从对终结点的调用中收到的响应。添加 `CustomTag node` 后你收到的响应与不存在该节点时收到的响应相同。


## Related topics

- [使用自定义分辨率进行测试](/zh-CN/build/core-features/common/game-streaming/game-streaming-testing-custom-resolution.md)
- [使用实时音频操作应用自定义语音效果](/zh-CN/services/playfab/community/voice-communications/concepts-realtime-audio-manipulation.md)
- [使用玩家自定义属性进行高级分段](/zh-CN/services/playfab/live-service-management/game-configuration/segmentation/advanced-segmentation.md)
- [操作和规则快速入门](/zh-CN/services/playfab/data-analytics/acting-data/action-rules-quickstart.md)
- [Intelligent Delivery：自定义标签修饰符](/zh-CN/build/core-features/common/packaging/intelligentdelivery-custom.md)
