Azure PlayFab Party
使用本主题了解如何将 PlayFab Party 与 Microsoft 游戏开发工具包 (GDK) 配合使用。 PlayFab Party 以灵活、有包容性和安全的方式简化了将低延迟聊天和数据通信添加到游戏中。 当不需要云托管的专用服务器(有时称为“点对点或 P2P 游戏”)时,Party 非常适合多人游戏实现。当不需要云端托管的专用服务器时,群是多人游戏实现的理想选择(有时称为点对点游戏或P2P 游戏)。 即使使用云服务器作为游戏主机,群也能在应用程序中为社交体验提供语音和文本通信功能(例如,游戏内小队或游戏后大厅)。 Party 是 Xbox One ERA 安全套接字 API 的 Microsoft 游戏开发工具包 (GDK) 继承者。
群使用Azure认知服务转录用户语音聊天,并将文本合成为语音,这主要是作为无障碍辅助工具而设计的。 PlayFab Party 群语音聊天的典型用法是按分钟计费。 多达 10% 的语音时长可以免费使用转录和合成。 建议将此功能的激活与易于访问的用户设置关联。
注意
Party 还实时翻译聊天。 在匿名匹配和国际竞技游戏中,这些转录和翻译功能是一种更具吸引力的多人游戏体验。
PlayFab 群(以及我们的其他多人游戏服务)的主要目标是促进可互操作的多人游戏基础结构和跨网络游戏。 验证多人游戏体验是否符合多人游戏和跨网络用户活动的相关平台策略。
PlayFab Party 功能
- 加密和身份验证:Party 通过使用 PlayFab 用户身份验证用户设备,并使用类似 DTLS 的协议加密数据。
- 设备到设备数据报网络:Party 的核心是在 Azure 云中全球托管的中继。 用户设备使用这些中继创建 Party 网络并将游戏数据发送到另一个设备。 Party 网络系统包括可配置的传输功能,例如在遇到数据包丢失时自动重试。
- 语音和文字聊天:用户设备可以将音频设备绑定到 Party 网络以进行实时语音聊天。 Party 还支持用户之间的文字聊天消息。
- 语音转文本和语音合成:Party 可以转录用户语音聊天和并为文本消息合成话语。 此功能具有多种用途,但是主要设计为辅助功能助手。
- 实时翻译:Party 可以理解并合成用户语音和文字聊天的实时翻译。
Microsoft 游戏开发工具包 (GDK) 注意事项
Xbox 服务要求
Xbox 服务游戏的用户通信必须满足几个用户安全要求。 使用 PlayFab Party 和 PlayFab Party Xbox 服务插件可确保游戏满足所有 Xbox 服务通信和安全要求。
注意
Xbox 要求 (XR)是一项游戏要求,必须满足该要求后游戏才能在 Xbox 平台上发布。
- XR-015:管理玩家通信。
- XR-045:Xbox 服务和帐户特权。 Xbox 服务插件仅强制实施 XPRIVILEGE_COMMUNICATIONS 部分。 如果你的游戏使用其他 Xbox 服务功能,则需要执行必要的权限检查。
- XR-072:支持语音。
- XR-007:跨网络玩游戏、数据使用情况和小帮手应用程序交互。 PlayFab Party 仅强制实施需要服务器的跨网络玩游戏部分。 你的游戏负责必要的权限检查和 Xbox 服务交互。
- XR-064:可加入的游戏会话和在线游戏
- XR-067:维护多人游戏会话状态
- XR-124:游戏邀请
网络初始化
PlayFab Party 不会自动处理 Microsoft 游戏开发工具包 (GDK) 游戏的网络初始化。 在调用到 PlayFab Party 之前,请等待网络初始化。 在初始化网络之前,Party API 将失败。
暂停和继续
必须通过 RegisterAppStateChangeNotification
注册暂停和继续事件。 挂起时,使用 PartyManager::Cleanup()
清理 Party。 恢复时,应再次等待网络初始化,然后再调用 PartyManager::Initialize()
。 如果尝试跨暂停/继续周期使用,则 Party API 失败。
它可能需要几百毫秒的时间来完成 PartyManager::Cleanup()
。 建议在清理群的同时进行其他暂停操作,以避免暂停超时。 如果是异步调用 Partymanager::Cleanup()
,应该确保阻止暂停通知,直到群的清理工作返回。
定价信息
PlayFab Party 可通过使用 Xbox 服务标识免费用于 Microsoft 游戏开发工具包 (GDK)。 有关定价和计费的更多信息,请参阅 Xbox 服务免费计划 FAQ。
在 PlayFab 门户中配置游戏
- 转到 https://developer.playfab.com/,然后创建一个帐户。
- 使用新帐户创建 PlayFab 工作室和游戏 ID。
- 转到新创建的游戏,选择多人游戏部分,然后选择Party(预览)选项卡。
- 选择“启用”,然后输入 Xbox Live 访问代码。 片刻后 Party 将被启用。
- 在 API 功能选项卡上,复制 PlayFab 游戏 ID 和实体 ICD。
- 将游戏 ID 和实体 ICD 添加到客户端 PlayFab Party API 初始化函数。 现在可以在 Microsoft 游戏开发工具包 (GDK) 游戏中使用 PlayFab Party。
有关更多信息,请参阅快速入门:Game Manager。
使用 Visual Studio 将 PlayFab Party 库添加到 Microsoft 游戏开发工具包 (GDK) 项目
- 在 Visual Studio 解决方案资源管理器中右键单击项目,然后选择“属性”。
- 在“配置属性”中,转到 Xbox One 部分。
- 选择“游戏扩展库”下拉列表,然后添加对 PlayFab Party 和 Xbox Live 帮助程序的引用。
注意
库安装在 Program Files (x86) \Microsoft GDK[版本]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\x64 下的默认位置, (2024 年 10 月或更高版本) -或- 程序文件 (x86) \Microsoft GDK[版本]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\CommonConfiguration\neutral (2024 年 6 月或更早) 。
PlayFab Party 和沙盒
不需要为沙盒配置 PlayFab Party。 无论部署到哪个沙盒,所有网络会话都在零售环境中分配。 如需分离用户进行测试,请为测试环境和零售环境分别创建单独的 PlayFab 游戏 ID。 PlayFab 游戏 ID 独立于你的 Xbox 服务游戏 ID。 一个 Xbox 服务游戏 ID 可以使用多个不同的 PlayFab 游戏 ID。