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

# Enviando convites

> Envie convites para jogos multiplayer do XBOX a partir de um título usando a sobreposição da Title-Callable UI ou a API XblMultiplayerSendInvitesAsync com uma interface do usuário personalizada no jogo.

Use este tópico para configurar sessões de jogo multiplayer entre usuários nos serviços do XBOX.

Seu jogo envia convites para que outros usuários ingressem na sua sessão de jogo. Há duas maneiras de enviar um convite de jogo para outros usuários.
Você pode usar a Title-Callable UI (TCUI) (sobreposição da interface do usuário do sistema) ou uma interface do usuário personalizada implementada pelo título.

## Usando a Title-Callable UI (TCUI) (sobreposição da interface do usuário do sistema)

Chamar a API [XGameUiShowSendGameInviteAsync](https://docs.xbox.com/pt-BR/reference/system/xgameui/functions/xgameuishowsendgameinviteasync.md) exibe a sobreposição padrão da interface do usuário do sistema para convidar amigos.
Isso exibe uma interface do usuário na qual o usuário pode navegar para selecionar amigos ou usuários da [lista de jogadores recentes](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpa/concepts/live-mpa-recent-players.md)
para convidar para o jogo. Quando o usuário seleciona **Confirm**, o convite é enviado aos usuários selecionados.

## Usando uma interface do usuário personalizada implementada pelo título

Seu título pode implementar uma interface do usuário personalizada para visualizar amigos online e convidá-los para sessões de jogo.
Use a API [XblMultiplayerSendInvitesAsync](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesasync.md) para enviar convites a um conjunto de usuários definidos
pelo [XboxUserId (XUID)](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpa/concepts/live-mpa-activities.md), conforme mostrado no código a seguir.
Isso é útil se você preferir usar sua própria interface do usuário no jogo em vez da interface do usuário padrão do sistema.

### API C simples

```cpp theme={null}
auto asyncBlock = std::make_unique<XAsyncBlock>();
asyncBlock->queue = queue;
asyncBlock->context = nullptr;
asyncBlock->callback = [](XAsyncBlock* asyncBlock)
{
    std::unique_ptr<XAsyncBlock> asyncBlockPtr{ asyncBlock }; // Take ownership of the XAsyncBlock*
    size_t handlesCount = 1; // must be equal to invites that are requested
    XblMultiplayerInviteHandle handles[1] = {};
    HRESULT hr = XblMultiplayerSendInvitesResult(asyncBlock, handlesCount, handles);
};

uint64_t xuids[1] = {};
xuids[0] = targetXuid;
size_t xuidsCount = 1;

HRESULT hr = XblMultiplayerSendInvitesAsync(
    xblContextHandle,
    &sessionReference,
    xuids,
    xuidsCount,
    titleId,
    contextStringId,
    customActivationContext,
    asyncBlock.get());
if (SUCCEEDED(hr))
{
    // The call succeeded, so release the std::unique_ptr ownership of XAsyncBlock* since the callback will take ownership.
    // If the call fails, the std::unique_ptr will keep ownership and delete the XAsyncBlock*
    asyncBlock.release();
}
```

## Documentação de referência da API

* [Xgameactivation (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xgameactivation/xgameactivation_members.md)
* [xgameui (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xgameui/xgameui_members.md)
  * Funções
    * [XGameUiShowSendGameInviteAsync](https://docs.xbox.com/pt-BR/reference/system/xgameui/functions/xgameuishowsendgameinviteasync.md)
* [multiplayer\_c (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/multiplayer_c_members.md)
  * Funções
    * [XblMultiplayerSendInvitesAsync](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesasync.md)
    * [XblMultiplayerSendInvitesResult](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesresult.md)
  * Estruturas
    * [XblMultiplayerInviteHandle](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayerinvitehandle.md)
* [xasync (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xasync/xasync_members.md)
  * Estruturas
    * [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md)

## Confira também

[XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md)
[XblMultiplayerInviteHandle](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/structs/xblmultiplayerinvitehandle.md)
[XblMultiplayerSendInvitesAsync](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesasync.md)
[XblMultiplayerSendInvitesResult](https://docs.xbox.com/pt-BR/reference/live/xsapi-c/multiplayer_c/functions/xblmultiplayersendinvitesresult.md)
[XGameActivation (referência da API)](https://docs.xbox.com/pt-BR/reference/system/xgameactivation/xgameactivation_members.md)
[Tratando a ativação de protocolo para iniciar um jogo usando o Multiplayer Manager](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpm/how-to/live-handle-protocol-activation.md)
[Enviando convites de jogo usando o Multiplayer Manager](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpm/how-to/live-send-game-invites.md)


## Related topics

- [Enviando convites para outro jogador (fluxograma)](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpm/concepts/flowcharts/live-mpm-send-invites.md)
- [Enviando convites de jogo usando o Multiplayer Manager](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpm/how-to/live-send-game-invites.md)
- [Visão geral dos convites](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/invites/live-multiplayer-invites-overview.md)
- [Código de exemplo de convites](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/invites/how-to/live-invites-howto-nav.md)
- [Enviar um convite para outro jogador ingressar em um jogo multiplayer](https://docs.xbox.com/pt-BR/services/xbox-services/multiplayer/mpa/concepts/live-mpa-invites.md)
