PlayFab Party XBOX Live 帮助程序库
除核心的 PlayFab Party 库外,我们还提供了 XBOX Live 帮助程序库,旨在帮助遵守 XBOX Live 政策以及由此延伸的 XR。使用此帮助程序库不是必需的,但强烈推荐,并被视为最佳实践。此处展示的示例假定使用了 XBOX Live 帮助程序库。使 PlayFab Party 与 XBOX Live 用户的聊天设置和权限保持一致
PlayFab Party 使用选择加入的聊天通信模型,并且默认将两个聊天控件之间的所有通信限制在双方参与者都启用的通信集合内。有关详细信息,请参阅聊天权限和静音的文档。 PlayFab Party 的 XBOX Live 帮助程序库会指示应启用哪些聊天权限,以匹配当前在 Party 会话中通信的 XBOX Live 用户的偏好和权限。有关详细信息,请参阅尊重 XBOX Live 用户的隐私设置和权限的文档。 通过正确使用 PlayFab Party 和 XBOX Live 帮助程序库,你的游戏可以完全满足 XR-015 中规定的要求,并可以满足 XR-045 中规定的相关通信要求。有关 PlayFab Party 范围之外的其他要求,请参阅 XR-045 技术文档。维护多人会话文档
PlayFab Party 不提供任何 XBOX 用户名单。它依赖你的游戏使用 Multiplayer Session Directory 服务(MPSD)来维护名单,并将 Party 网络活动与游戏会话中的用户关联起来。PlayFab Party 会在远程终结点和聊天控件进出 Party 网络时进行通告。应将与这些对象关联的 PlayFab 实体 ID 与 MPSD 文档中的 XBOX 用户进行匹配,以识别哪些 PlayFab Party 对象代表游戏会话中的 XBOX 用户。对于跨平台游戏场景,与 XBOX 用户无关的 PlayFab 实体可能代表其他多人生态系统中的用户。 要识别 XBOX 用户,你应在 PlayFab 实体 ID 与 XBOX Live 用户之间建立映射。要实现此目的,建议将会话的 XBOX Live 用户列表存储在 MPSD 文档中,并使用 XBOX Live 帮助程序库将这些 XBOX Live 用户转换为 PlayFab 实体 ID。有关示例,请参阅 XBOX Live 用户 ID 与 PlayFab 实体 ID 之间的映射。 除了提供 Party 网络的名单外,MPSD 文档还驱动 XBOX 多人生态系统中的许多多人体验,例如匹配、平台邀请、最近玩家列表和进行中加入。有关如何将 Party 网络整合到这些 MPSD 流程中的详细信息,请参阅将 PlayFab Party 与 MPSD 一起使用。 有关详细信息,请参阅 MPSD 概述。在跨平台 Party 网络中使用 XBOX 客户端
对于跨平台游戏场景,请在与 XBOX Live 生态系统交互时牢记以下最佳实践。识别跨网络游戏会话中的玩家
在多人生态系统之间,应该可以识别和区分独立的玩家。为此,PlayFab Party 在可能与你会话中的用户关联的各种对象上提供了 PlayFab 实体 ID:PartyLocalUser、PartyEndpoint、PartyChatControl。
PlayFab Party API 不提供跨网络显示名称。在 UI 中显示 XBOX 用户时,应使用其玩家代号,且玩家代号应根据 MPSD 文档中的 XBOX 用户 ID 解析。非 XBOX 用户应根据 XR-007 中的准则在 UI 中显示。在缺少平台提供的显示名称时,PlayFab 通过 GetPlayerProfile 提供显示名称支持。加入网络时,玩家应将其显示名称发布到共享的会话文档中,以便其他玩家查看。
尽管 PlayFab Party 库将其某些对象与 PlayFab 用户关联(通过 PlayFab 实体 ID),但该库不提供识别 PlayFab 用户可能关联的多人生态系统的功能。为区分 XBOX Live PlayFab 用户与其他多人生态系统中的用户,建议将 Party 网络中的 PlayFab 实体 ID 与 MPSD 进行交叉引用。有关通过 MPSD 区分 XBOX Live 玩家与非 XBOX Live 玩家的更多信息,请参阅维护多人会话文档一节。
有关在与 XBOX Live 的跨平台游戏网络中识别用户的要求的详细信息,请参阅 XR-007。
尊重 XBOX Live 用户的跨网络通信权限
PlayFab Party 并不隐式遵守 XBOX Live 的跨网络通信限制。因此,PlayFab Party XBOX Live 帮助程序库提供了查询 XBOX Live 用户跨网络通信权限的功能。你必须使用这些信息以符合 XR-007 中规定的跨网络通信要求。 有关详细信息,请参阅尊重跨网络通信。当不允许跨平台游戏时,使用 PlayFab Party 邀请限制对网络的访问。
XBOX Live 用户需要拥有跨网络权限才能在跨网络游戏会话中与非 XBOX Live 用户进行交互。PlayFab Party 并不隐式遵守这些跨网络限制(在 XR-007 中概述),因此必须在 PlayFab Party 库之外查询此权限。当未授予这些权限时,你应限制 Party 网络,仅允许游戏会话的 MPSD 文档中已知的 XBOX Live 用户。你可以通过增强我们的示例进行中加入流程来实现此目的,使用仅允许已知 XBOX 用户加入网络的 Party 邀请。 首先,请确保使用受限邀请创建 Party 网络。由于需要在 XBOX Live 用户 ID 与 PlayFab 实体 ID 之间进行转换,建议在两者之间构建映射。有关如何执行此操作的示例,请参阅 XBOX Live 用户 ID 与 PlayFab 实体 ID 之间的映射。
与 XBOX Live 配置文件设置保持同步
PlayFab Party 默认符合 XR-048 中的配置文件设置要求。该库不会持久缓存任何 XBOX Live 配置文件设置。当 PlayFab Party 需要使用配置文件设置时,会从 XBOX Live 查询设置,且这些设置在与该设置关联的 PlayFab Party API 对象的生命周期内保持有效,但不会在对象的多个实例之间持续存在。 有关在 PlayFab Party 之外使用 XBOX Live 配置文件设置数据的信息,请参阅 XR-048 技术文档。支持平台多人游戏加入流程
在 XBOX 上,玩家可以通过进行中加入和平台邀请功能加入多人游戏。PlayFab Party 不直接与这些平台功能集成,但通过PartyNetworkDescriptor 和 PartyInvitation 对象来支持它们的使用。PartyNetworkDescriptor 对象提供远程用户查找和连接到 Party 网络所需的连接信息,并可通过 PartyManager::SerializeNetworkDescriptor 进行序列化。PartyInvitation 对象为远程用户提供用于身份验证和加入 Party 网络的 ID。为使远程用户能够通过进行中加入和平台邀请加入多人游戏,请将序列化的网络描述符和 Party 邀请标识符集成到你现有的流程中。示例流程也可以在将 PlayFab Party 与 MPSD 一起使用文档中找到。
有关平台多人游戏加入流程要求的详细信息,请参阅 XR-064 和 XR-124 技术文档。
