

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 FlexMatch 添加到游戏客户端
<a name="match-client"></a>

本主题介绍如何将 FlexMatch 对战功能添加到您的客户端游戏组件。

我们强烈建议您的游戏客户端通过后端游戏服务发起对战请求。通过使用此可信源与 Amazon GameLift Servers 服务通信，您可以更轻松地防范黑客攻击和虚假玩家数据。如果您的游戏具有会话目录服务，那么这是一个用于处理对战请求的好选项。无论将 FlexMatch 与 Amazon GameLift Servers 托管服务配合使用，还是作为独立服务使用，通过后端游戏服务统一调用 Amazon GameLift Servers 服务均为最佳实践。

无论您是将 FlexMatch 与 Amazon GameLift Servers 托管式通过配合使用，还是作为独立服务与其他托管解决方案搭配使用，均需进行客户端更新。使用作为 Amazon SDK 一部分的服务 API 添加以下功能：Amazon GameLift Servers
+ 请求一个或多个玩家的对战（必需）。根据您的对战规则集，此请求可能需要某些特定于玩家的数据，包括玩家属性和延迟。
+ 跟踪对战请求的状态（必需）。通常，此任务需要设置事件通知。
+ 要求玩家接受建议的对战游戏。此功能需要与玩家进行额外互动，才能显示对战详情并允许他们接受或拒绝对战。
+ 获取游戏会话连接信息，并加入游戏（必需）。在新对战的游戏会话开始后，检索游戏会话的连接信息，然后使用它来连接游戏会话。

## 客户端必备任务
<a name="match-client-setup"></a>

在向游戏添加客户端功能之前，您需要完成以下任务：
+ **将 Amazon SDK 添加到您的后端服务。**该后端服务需使用 Amazon GameLift Servers API 中的功能，它是 Amazon 软件开发工具包的一部分。要了解有关 Amazon SDK 的更多信息并下载最新版本，请参Amazon GameLift Servers SDKs 阅 “[客户服务](https://docs.amazonaws.cn/gamelift/latest/developerguide/gamelift-supported.html#gamelift-supported-clients)”。有关 API 的描述和功能，请参阅[Amazon GameLift ServersFlexMatchAPI 参考 (Amazon SDK)](reference-awssdk-flex.md)。
+ **设置对战票证系统。**所有对战请求必须具有唯一票证 ID。创建一种机制来生成唯一的票证 IDs 并将其分配给匹配的请求。票证 ID 可以使用任意字符串格式，最多 128 个字符。
+ **收集有关您的对战构建器的信息。**从您的配对配置和规则集获取以下信息。
  + 对战配置资源的名称。
  + 玩家属性列表，在规则集中定义。
+ **检索玩家数据。**设置一种方法来获取每位玩家的相关数据，以将其包含在对战请求中。您需要玩家 ID 和玩家属性值。如果您的规则集有延迟规则，或者您想在放置游戏会话时使用延迟数据，请收集玩家可能进入游戏的每个地理位置的延迟数据。要获得准确的延迟测量值，请使用 Amazon GameLift Servers 的 UDP ping 信标。这些端点使您能够测量玩家设备与每个潜在托管位置之间的实际 UDP 网络延迟，从而比使用 ICMP ping 更准确地做出放置决策。有关使用 UDP ping 信标测量延迟的更多信息，请参阅 [UDP ping 信标](https://docs.amazonaws.cn/gameliftservers/latest/developerguide/reference-udp-ping-beacons.html)。