Skip to main content
在你的 PC GDK 作品能够运行之后,可以根据设计需要叠加可选的 XBOX 服务和 Microsoft Azure PlayFab 功能。发布到 Microsoft Store 并不需要以下任何一项 —— 请挑选适合你作品的部分。

建议的采用顺序

  1. 登录与身份 —— XUserPlayFab 登录
  2. 成就与统计 —— XSAPI Achievements玩家统计
  3. 云存档 —— XGameSave
  4. 社交 —— 好友与最近玩家 以及 富存在感
  5. 多人游戏 —— 大厅匹配多人玩法邀请聊天
  6. 商务 —— XStore游戏内购DLC
  7. 服务端集成 —— S2S 身份验证用户生成内容运营

可选服务主题

下表每一行对应源 PC E2E 指南中的一个主题。详细集成指南在链接的功能文档中。

聊天

在 PC 和 XBOX 上使用 PlayFab Party 提供同步语音与文字聊天。关键步骤:
  1. 配置 PlayFab Party SDK
  2. 让玩家同时在 XBOX 服务与 PlayFab 中完成身份验证。
  3. 使用 PartyManager::CreateNewNetwork() 创建或加入一个 Party 网络。
  4. 为每个本地用户创建 PartyLocalChatControl,并用 PartyNetwork::ConnectChatControl() 连接。
  5. 通过 PartyLocalChatControl::SetAudioInput/OutputPartyAudioDeviceSelectionType 选择音频输入/输出设备。
  6. 配置聊天权限以及两两聊天控件之间的静音状态。
  7. 通过 SendText 增加文字聊天,并可选择通过 SetTextChatOptions 启用翻译。
  8. 通过 Azure Speech Services 增加无障碍功能 —— 语音转文字转录以及文字转语音合成。
  9. 对采集到的麦克风音频启用降噪。
如果你还要在 XBOX 上发布,请使用 Party XBOX Live Helper Library 以满足 XBOX 服务的要求。

游戏内购

使用 XStore(通过 XGameRuntime.h)在 Microsoft Store 上实现游戏内购流程:
  • 查询商店目录、关联产品(附加包、消耗品、耐用品)以及用户的使用权集合。
  • 通过 XStoreShowPurchaseUIAsync 显示购买 UI。
  • 通过 XStoreReportConsumableFulfillmentAsync 消费消耗品。
  • 使用权变化后,通过 XStoreQueryProductForCurrentSkuAsync 刷新许可证。
对于由 PlayFab 驱动的虚拟经济系统(货币、库存、捆绑包),将 XStore 购买与 PlayFab Economy v2 搭配使用。

邀请

使用 PlayFab Lobby 在 PC/XBOX 间实现邀请与加入:
  1. 集成 PlayFab Lobby & Matchmaking SDK
  2. 在 XBOX 服务与 PlayFab 中完成身份验证。
  3. 选择大厅的所有者:玩家拥有(PFMultiplayerCreateAndJoinLobby)、服务器拥有(PFMultiplayerCreateAndClaimServerLobby)或由匹配创建。
  4. 通过 PFMultiplayerStartListeningForLobbyInvites 监听邀请。
  5. 通过平台的邀请 UI 发送邀请,让接收方看到原生的 XBOX/Store 通知。
大厅也可作为玩家接受邀请后加入的游戏会话。

排行榜

使用 XSAPI 作品管理的排行榜 在 XBOX 服务上提供社交与全球排行榜:
  1. 在 Partner Center 中 XBOX services → Player data 下定义排行榜。
  2. 通过 Stats Manager 发出与排行榜挂钩的统计事件。
  3. 通过 XblLeaderboardGetLeaderboardAsync(全球)或 XblLeaderboardGetLeaderboardForSocialGroupAsync(好友)查询排行榜。
参见 排行榜

大厅

使用 PlayFab Lobby 保存共享的会话状态(成员列表、任意属性、所有权):
  • 使用 PlayFab Multiplayer C SDK 创建、加入、查找与离开大厅。
  • 将玩法元数据存储为大厅属性(游戏模式、地图、准备状态)。
  • 与 PlayFab Matchmaking 配合,将匹配得到的一组玩家组成大厅。
  • 在大厅成员之上,搭配 PlayFab Party 增加网络与语音。

匹配

使用 PlayFab Matchmaking 提供基于技能/属性的匹配,并生成共享大厅:
  • 在 PlayFab Game Manager 中通过玩家属性规则定义匹配队列。
  • 通过 PFMatchmakingCreateMatchmakingTicket 提交票据。
  • 匹配成功后,玩家会被放入你所拥有的共享大厅。
对于仅 XBOX Live 的作品,也支持通过 MPSD 的 SmartMatch —— 但对新作品推荐使用 PlayFab Matchmaking。

多人玩法

PC/XBOX 上有两种受支持的多人游戏栈:
  • PlayFab Multiplayer —— 跨平台,使用 PlayFab Lobby 管理会话、PlayFab Party 作为传输层。推荐给新作品。
  • XBOX 服务多人玩法 —— MPSD 会话 + Multiplayer Manager(MPM)。仍受仅 XBOX 作品支持。
两种方案都在 多人玩法概览 中有介绍。

网络

PlayFab Party 用作实时玩法流量的网络传输层:
  • 在已连接的端点之间发送可靠/不可靠消息。
  • 在同一 Party 网络上叠加语音、文字与玩法数据。
  • 在 XBOX 上,Party 自动接入平台的网络路径;在 PC 上使用 UDP 并支持回退。

玩家统计

使用 XSAPI Stats Manager 管理作品所维护的玩家统计:
  1. 在 Partner Center 中 XBOX services → Player data 下定义统计项。
  2. 通过 XblStatsManagerSetStatAsNumber / SetStatAsString 为玩家添加统计项。
  3. 根据玩法递增或覆盖统计。
  4. 每帧调用 XblStatsManagerDoWork 刷新待更新数据。
统计驱动排行榜,也会显示在玩家的个人档案上。

富存在感

使用 XSAPI Presence 广播玩家当前正在做什么:
  1. 在 Partner Center 中定义存在感枚举与字符串集合。
  2. 玩家进入新状态(菜单、关卡、对局)时,通过 XblPresenceSetPresenceAsync 更新存在感。
  3. 使用 XblPresenceGetPresenceAsyncXblPresenceGetPresenceForMultipleUsersAsync 查询其他玩家。
参见 富存在感

S2S 身份验证

当你的后端需要代表玩家调用 Microsoft Store API 时,使用 Microsoft Entra ID + User Store ID 进行服务到服务身份验证:
  • 两类 User Store ID:
    • UserCollectionsID —— 与 Microsoft Store Collections 服务(使用权清单)进行身份验证。
    • UserPurchaseID —— 与 Microsoft Store Purchase 服务(交易验证)进行身份验证。
  • 你的服务获取一个 Entra ID 访问令牌,并结合来自游戏客户端的 User Store ID 调用 Store REST API。
  • 推荐给新作品;基于 X-token 的身份验证已是遗留方案。

用户生成内容

在自有或第三方资源管线之上,使用 PlayFab Economy v2 管理 UGC 目录:
  1. 让玩家通过 PlayFab 完成身份验证。
  2. 通过 CreateUploadUrls 生成签名上传 URL。
  3. 使用 CreateDraftItem(Type:ugc)创建草稿条目。
  4. 通过 GetEntityDraftItems 枚举草稿条目。
  5. 使用 PublishDraftItem 发布 —— 已发布条目会出现在公开目录中。
  6. 通过 GetItemPublishStatus 查询状态。
  7. 使用 SearchItems(OData FilterOrderBySelect)查询目录。
可选的审核/审阅由 PlayFab Game Manager 中的 Catalog Reviewer 处理。

相关

相关 API 文档

最后修改于 2026年8月13日