活动

此主题说明如何向其他玩家广告可加入的多玩家体验。 然后他们可以加入体验。

使用活动

当玩家开始或加入多人游戏体验时,游戏应通过创建活动在多人游戏活动 (MPA) 中播发此内容。 与基于会话的模型不同,活动是按玩家进行的。 每个玩家都应创建自己的活动,即使他们一起玩也是如此。

只要有玩家处于多人游戏体验,游戏就应创建此活动。 在该体验中,如果玩家数量增加或减少,游戏应该修改活动。 当玩家结束或离开多人游戏体验后,游戏应删除该活动。 如果游戏崩溃或因其他原因而无法删除活动,则 MPA 将在检测到玩家已停止玩游戏时尝试删除该活动。 如果活动没有更新,会在 24 小时后自动删除。

活动内容

活动包含显示在以下表格中的信息。

字段 用途 说明
xuid 创建活动的用户的 XboxUserId 仅限查询活动时使用。 用户只能为自己设置活动。
connectionString 对 MPA 不透明的游戏定义字符串。 包含游戏可用于连接到其他玩家的信息。 必须少于 512 个字符。
joinRestriction 表示可能在此活动中看到连接字符串的人员。 有关详细信息,请参阅本主题中稍后给出的“隐私”部分。 必须为 PublicFollowedInviteOnly
maxPlayers 此活动中允许的最大玩家人数。 可选。 如果要指定,它必须大于 1 并且小于或等于 100。
currentPlayers 此活动中当前的玩家人数。 可选。 如果要指定,它必须大于 0 并且小于或等于 100。
groupId 游戏定义的 ID。 在 MPA 中,具有相同 groupId 的玩家被认为是在一起玩游戏。 必须少于 128 个字符,并且仅用于组标识。
platform 当设置到特定平台时,限制通过邀请的 Crossplay 且仅加入到该平台。 如未设置,则允许所有定义平台间的 Crossplay。 有关详细信息,请参阅本主题后面的支持 Crossplay 活动部分。

隐私

游戏可能希望仅允许其社交图上的一部分玩家加入该玩家。 joinRestriction 字段确定其他玩家在查看此活动时是否收到连接字符串。 下表展示了值及它们的含义。

含义
Public 所有玩家均可加入此活动。
Followed 如果活动创建者关注了另一位玩家,则该玩家可以加入。
InviteOnly 除非回复邀请,否则任何玩家都不能加入此活动。

支持 crossplay 活动

在 Microsoft 游戏开发工具包 (GDK) 中创建活动时,游戏可指定 allowCrossplay 标志。 如果为 false,Microsoft 游戏开发工具包 (GDK) 将自动用当前平台填充邀请的平台字段。 如果为 true,Microsoft 游戏开发工具包 (GDK) 将使平台字段为 null,表明此邀请是跨平台的。 允许 Crossplay 的平台列表由游戏配置所定义。 在此情景中,不同主机代系也视为 Crossplay。

检索活动

检索其他玩家的活动时,有时会隐藏连接字符串。 这表示该用户不允许加入此活动。 例如,由于活动的 joinRestriction— 该活动已满员,可能会隐藏连接字符串。