> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 Multiplayer Manager 发送游戏邀请

> 如何使用 Multiplayer Manager 通过平台游戏可调用 UI (TCUI) 或游戏实现的自定义邀请 UI 发送 XBOX Live 游戏邀请。

在一个简单的多人游戏场景中,你游戏的玩家可以与好友在线一起玩。本主题介绍向另一玩家发送邀请以加入你的游戏的步骤。

初始化 Multiplayer Manager 并通过添加本地用户创建大厅会话。有关详细信息,请参阅[使用 Multiplayer Manager 启用与好友一起玩多人游戏](/services/xbox-services/multiplayer/mpm/how-to/live-play-multiplayer-with-friends)。
在收到 [XblMultiplayerEventType](/reference/live/xsapi-c/multiplayer_manager_c/enums/xblmultiplayereventtype)`::UserAdded` 事件后,你可以开始发送邀请。

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

* [XBOX 平台邀请游戏可调用 UI (TCUI)](#xbox-platform-invite-tcui)
* [游戏实现的自定义 UI](#title-implemented-custom-ui)

有关该过程的详细信息,请参阅[向另一玩家发送邀请(流程图)](/services/xbox-services/multiplayer/mpm/concepts/flowcharts/live-mpm-send-invites)。

### XBOX 平台邀请 TCUI <a id="xbox-platform-invite-tcui" />

调用 [XblMultiplayerManagerLobbySessionInviteFriends](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninvitefriends) 以显示标准 XBOX UI,玩家可以从中选择好友或最近玩过的玩家邀请加入游戏。
当玩家确认选择时,Multiplayer Manager 会向所选玩家发送邀请。

#### 扁平 C API

```cpp theme={null}
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());
```

Multiplayer Manager 执行以下功能以使用 XBOX 平台邀请 TCUI 邀请玩家。

* 显示 XBOX 标准 TCUI。
* 直接向所选玩家发送邀请。

### 游戏实现的自定义 UI<a id="title-implemented-custom-ui" />

你的游戏可以实现自定义 TCUI 来查看在线好友并邀请他们。
游戏可以使用 [XblMultiplayerManagerLobbySessionInviteUsers](/reference/live/xsapi-c/multiplayer_manager_c/functions/xblmultiplayermanagerlobbysessioninviteusers) 方法向一组由 XBOX Live 用户 ID 定义的人员发送邀请。
如果你使用自己的游戏内 UI 而不是标准 XBOX UI,则此方法很有用。

#### 扁平 C API

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

使用游戏实现的自定义 UI 时,Multiplayer Manager 会直接向所选玩家发送邀请。


## Related topics

- [发送邀请](/zh-CN/services/xbox-services/multiplayer/invites/how-to/live-invites-send.md)
- [邀请概述](/zh-CN/services/xbox-services/multiplayer/invites/live-multiplayer-invites-overview.md)
- [邀请玩家加入游戏会话](/zh-CN/services/xbox-services/multiplayer/invites/live-invites-nav.md)
- [Multiplayer Manager 示例代码](/zh-CN/services/xbox-services/multiplayer/mpm/how-to/live-mm-howto-nav.md)
- [Multiplayer Manager 概述](/zh-CN/services/xbox-services/multiplayer/mpm/live-multiplayer-manager-overview.md)
