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

# 分段配置

> 在 Game Manager 中通过定义过滤条件、命名规则以及分配进入/离开操作或 CloudScript 任务来配置 PlayFab 玩家分段。

从 **Game Manager** 中的 **Players** 选项卡访问的**分段配置**页面允许你通过调整名称、定义过滤器和分配任务来配置新的或现有的分段。

每个分段允许你定义有用或有趣的玩家群体，并对该群体执行专属操作。

## 如何创建和访问分段

要访问分段配置：

1. 从左侧菜单中选择 **Players**。
2. 选择 **Segments** 选项卡。

然后你可以选择：

3. 使用 **New Segment** 按钮创建和配置新的**分段**。
4. 找到*现有*的**分段**，然后选择名称标签来配置该**分段**。

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-create-or-configure-new-segment.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=0ec5365461c0c6ae63411f71763be65c" alt="Game Manager - Players - Segments - Create or Configure New Segment" width="1015" height="332" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-create-or-configure-new-segment.png" />

## 如何配置分段

**先决条件**：

要配置类似本教程示例的分段，你将需要：

* 在 PlayFab 中定义的具有和不具有独特特征的玩家。
* 已定义的 [CloudScript PlayStream Hook](/services/playfab/data-analytics/acting-data/action-rules-using-cloudscript-actions-with-playstream)。

在此示例中，我们将：

* 使用以下*决定性特征*配置分段：所有来自加拿大的玩家。
* 为每位进入该分段的玩家运行 CloudScript 函数 **helloWorld**。

玩家的*决定性特征*可以是：

* 登录时间
* 已关联的设备类型
* 标签
* 现实世界位置
* 统计值
* 虚拟货币值
* 真实货币购买等等。

玩家的位置是众多可能选项之一，仅在此示例中特别需要。你可以随意用你选择的其他筛选条件替换国家/地区要求。

定义分段后，你可以选择多种操作选项，在玩家进入或离开分段时运行。

CloudScript 是迄今为止最灵活的操作，让你在分段转变时对玩家和分段信息拥有完全控制。

在 CloudScript 处理程序中使用第二个参数 *Context* 来识别玩家和分段转变。之后，对玩家执行你希望的任何操作，例如授予库存道具、虚拟货币、玩家数据或统计信息。

在此特定情况下，分段配置需要 4 个简单步骤：

1. 为分段指定适当的名称。一个好办法是使用包含你的*决定性特征*的名称——**Canada Players**。
2. 分配玩家进入分段必须满足的条件。在此示例中，我们希望使用严格值 *Canada* 的 *Location (country/region)* 过滤器。
3. 为进入分段触发器添加 CloudScript 操作。将操作配置为运行你想要的函数。在此示例中，我们希望运行 **helloWorld**。
4. 通过选择 **Save Segment** 按钮进行提交。

定义分段后，你可以选择多种操作选项，在玩家进入或离开分段时运行。CloudScript 是迄今为止最灵活的操作，让你在分段转变时对玩家和分段信息拥有完全控制。

在 CloudScript 处理程序中使用第二个参数 *Context* 来识别玩家和分段转变。之后，对玩家执行你希望的任何操作，例如授予库存道具、虚拟货币、玩家数据或统计信息。

在此特定情况下，分段配置需要 4 个简单步骤：

1. 为分段指定适当的名称（一个好办法是使用包含你的*决定性特征*的名称——**Canada Players**）。
2. 分配玩家进入分段必须满足的条件。在此示例中，我们希望使用严格值 *Canada* 的 *Location (country/region)* 过滤器。
3. 为进入分段触发器添加 **CloudScript** 操作。将操作配置为运行你想要的函数。在此示例中，我们希望运行：**helloWorld**。
4. 通过选择 **Save Segment** 按钮进行提交。

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-new-segment-configuration.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=e88ebd1a41c353319d8d3c5324333b14" alt="Game Manager - Players - Segments - New Segment Configuration" width="553" height="1200" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-new-segment-configuration.png" />

**Group (2)** 是满足所有定义条件的玩家集合，这些条件称为 **Filters (3)**。

换句话说，要成为分段的一部分，玩家必须至少是 1 个组的一部分。要成为一个组的一部分，玩家必须满足所有条件（过滤器）。

这由 OR/AND 运算符表示：过滤器使用 AND 运算符组合，而组使用 OR 运算符组合。

下面显示的屏幕截图提供了如何定义分段的示例。该分段由 2 个组组成。第一组由 2 个过滤器定义：

* 玩家必须来自加拿大。
* 玩家必须已启用 Apple **推送通知**。

第二组也是针对来自加拿大的玩家，但他们必须已启用 Google **推送通知**。

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-segment-filtering.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=51d978485bb9b9b35cdc67d565a9118f" alt="Game Manager - Players - Segments - Segment Filtering" width="1622" height="500" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-segment-filtering.png" />

最终，我们得到一个来自加拿大且启用了 Google 或 Apple 推送通知的玩家分段。

每个过滤器都有独特的配置和用途。截至 2017 年 4 月 30 日，以下过滤器可用：

* **All players filter** - 此过滤器没有配置，是唯一的，因为它允许你创建包含所有玩家的分段。当你想对每个新玩家运行自动操作时，这非常有用（分段操作在本教程后面的[如何管理操作](#how-to-manage-actions)部分中描述）。
* **First login (date) filter** - 允许你根据首次登录日期时间进行过滤。例如，在 2017 年 1 月 1 日之后首次登录的玩家。
* **First login (timespan) filter** - 允许你根据相对于当前日期时间的首次登录时间跨度进行过滤。例如，20 分钟前（从现在起）首次登录的玩家。
* **Last login (date) filter** - 允许你根据上次登录日期时间进行过滤。例如，自 2017 年 1 月 1 日以来未登录的玩家。
* **Last login (timespan) filter** - 允许你根据相对于当前日期时间的上次登录时间跨度进行过滤。例如，一周（从现在起）未登录的玩家。
* **Linked user account to filter** - 允许你根据用户的关联账户进行过滤。例如，将 Steam 账户与电子邮件账户关联的玩家。
* **Location (country/region) filter** - 允许你根据玩家的国家/地区进行过滤。例如，来自加拿大的玩家。
* **Push notifications enabled with filter** - 允许你根据玩家的推送设置和功能进行过滤。例如，已启用 Google 推送通知的玩家。
* **Statistics value filter** - 允许你根据自定义统计属性进行过滤。例如，总共造成 20000 伤害的玩家。
* **Tag filter** - 允许你根据玩家是否具有某个特定标签进行过滤。例如，具有 *cheater* 标签的玩家。
* **Total value to date in US filter** - 允许你根据玩家在游戏中花费了多少 USD 货币进行过滤。例如，花费超过 \$30 的玩家。
* **Value to date filter** - 允许你根据玩家在游戏中花费了多少某种特定货币进行过滤。例如，花费 50 RUB 的玩家。
* **User origination filter** - 允许你根据玩家开始玩游戏时使用的第一种身份验证方法进行过滤。

<Note>
  这里的诀窍是玩家可能*开始*使用基于例如 iOS 设备 ID 的身份验证，但后来*同一位*玩家可能会关联 GameCenter 账户。在这种情况下，*user origination* 将是 iOS 设备 ID。例如，最初使用 iOS 设备 ID 登录的玩家。
</Note>

* **Virtual currency balance filter** - 允许你根据玩家的自定义虚拟货币存款进行过滤。例如，拥有少于 50 Crystal 的玩家。

## 如何管理操作

每个*操作*都需要*触发器*才能运行。某些操作是手动运行的，直接从页面触发。但有时你必须选择触发器——一个使操作运行的事件。

触发器定义了操作的*上下文*。例如，*player entered segment* 触发器传递给你包含对玩家引用的上下文。**Actions** 面板的常规工作流程是：

1. 选择 **Event condition**（也称为*触发器*）。
2. 选择一个操作 **Type**。PlayFab 提供各种操作。如果在任何时候你需要更灵活的操作，请考虑 CloudScript 操作。此操作类型允许你运行自己的 CloudScript 函数。
3. 配置操作（每个操作 **Type** 特有）。
4. 选择 **REMOVE** 从触发器中删除操作。
5. 选择 **Add Action** 向触发器添加操作。

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-actions-panel.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=b3ab4bc8f74b0a987cdae09ac856b2c3" alt="Game Manager - Actions panel" width="1068" height="409" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-actions-panel.png" />

## 如何检查玩家分段

可以通过 **Player Segments** 页面查看玩家所属的分段。要访问 **Player Segments** 页面：

1. 在侧边栏菜单中选择 **Players**。
2. 然后选择 **Players** 选项卡。
3. 找到你要检查的玩家，然后选择 **ID** 标签。
4. 最后，在 **Players Toolbar** 中选择 **Segments**。

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-open-players-segments-page.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=b678425edca12dd2a9a13ec2557eb070" alt="Game Manager - Open - Players Segments page" width="1119" height="441" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-open-players-segments-page.png" />

在 **Player Segments** 页面上，请注意以下内容：

1. **Player ID** 标签标识你当前正在检查的玩家。
2. **Segments** 表包含玩家所属的所有分段列表。选择 **Segment name** 标签以配置分段。

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-page.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=7e89e5698a40640185e576836715aea2" alt="Game Manager - Players Segments Page" width="1046" height="720" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-players-segments-page.png" />


## Related topics

- [导出分段中玩家的教程](/zh-CN/services/playfab/live-service-management/game-configuration/segmentation/segmentation-export-players-in-a-segment.md)
- [使用玩家自定义属性进行高级分段](/zh-CN/services/playfab/live-service-management/game-configuration/segmentation/advanced-segmentation.md)
- [玩家分段](/zh-CN/services/playfab/live-service-management/game-configuration/segmentation/segmentation-quickstart.md)
- [实时服务管理概述](/zh-CN/services/playfab/live-service-management/overview.md)
- [使用 Azure Functions 的 PlayFab CloudScript 上下文模型](/zh-CN/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/CloudScript-af-context.md)
