使用多人管理器发送游戏邀请

在简单的多人游戏场景中,游戏的玩家可以与朋友在线玩游戏。 本主题介绍了向其他玩家发送邀请加入游戏的步骤。

初始化“多人游戏管理器”,通过添加本地用户创建一个大厅会话。 更多信息,请参阅 通过启用“多人游戏管理器”与朋友一起玩多人游戏。 在收到 XblMultiplayerEventType::UserAdded 事件后,则可以开始发送邀请。

可通过两种方式发送邀请。

有关该过程的更多信息,请参阅 向另一玩家发送邀请 (流程图)

Xbox 平台邀请 TCUI

调用 XblMultiplayerManagerLobbySessionInviteFriends 已显示标准的 Xbox UI,玩家可以选择朋友或最近的玩家来邀请参加游戏。 当玩家确认其选择时,多人游戏管理器会将邀请发送给所选玩家。

平面 C API

std::string customActivationContext = "{ \"customGameData\": 1 }"; // This string can be anything your game sends across to the invited player's game.

HRESULT hr = XblMultiplayerManagerLobbySessionInviteFriends(xuserHandle, nullptr, customActivationContext.c_str());

多人游戏管理器通过使用 Xbox 平台邀请 TCUI 执行以下功能来邀请玩家。

  • 显示 Xbox 标准 TCUI。
  • 直接向选择的玩家发送邀请。

游戏实现的自定义 UI

游戏可实现查看在线好友并邀请他们的自定义 TCUI。 游戏可使用 XblMultiplayerManagerLobbySessionInviteUsers 方法向由其 Xbox Live 用户 ID 定义的一组人员发送邀请。 如果使用自己的游戏内 UI 而不是标准 Xbox UI,则非常有用。

平面 C API

size_t xuidsCount = 1;
uint64_t xuids[1] = {};
xuids[0] = 1234567891234567;
HRESULT hr = XblMultiplayerManagerLobbySessionInviteUsers(
    xblUserHandle, 
    xuids, 
    xuidsCount, 
    nullptr,    // ContextStringId 
    nullptr     // CustomActivationContext
);

使用游戏实现的自定义 UI 时,多人游戏管理器会直接向所选玩家发送邀请。