> ## 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.

# Redes do PlayFab Party e fluxos de descoberta de rede

> Guia conceitual sobre a descoberta de redes do PlayFab Party: como os jogadores encontram, convidam e se conectam a redes de chat e de dados do Party no seu jogo multijogador.

# Integrando a descoberta ao PlayFab Party

A descoberta é o processo pelo qual os usuários se encontram para jogar juntos. O PlayFab Party não fornece um mecanismo de descoberta, mas pode ser usado com qualquer mecanismo existente que forneça comunicação entre os usuários.

## Fluxo básico de criação e ingresso

Uma rede do PlayFab Party é [criada](#criando-uma-rede) por um usuário em um único cliente, [anunciada](#anunciando-uma-rede) e, em seguida, [acessada](#ingressando-em-uma-rede) por outros usuários em clientes diferentes.

### Criando uma rede

A primeira consideração ao usar uma rede do PlayFab Party com uma sessão de jogo é escolher qual cliente e qual usuário criarão a rede (`PartyManager::CreateNewNetwork()`). Do ponto de vista do PlayFab Party, não importa qual usuário faz isso; qualquer usuário pode criar uma rede. O criador não recebe privilégios especiais na rede. No entanto, o cliente que cria a rede é responsável por:

* definir a configuração imutável da rede (`PartyNetworkConfiguration`)
* determinar o convite inicial (`PartyInvitationConfiguration`)
* anunciar a rede para outros usuários

O convite inicial contém um identificador e uma lista de usuários que têm permissão para ingressar na rede. Os usuários são especificados como uma lista de [IDs de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities) `title_player_account`. Como alternativa, a lista pode estar vazia, permitindo que qualquer usuário com o descritor de rede e o identificador do convite ingresse.

### Anunciando uma rede

Para ingressar em uma rede existente do PlayFab Party, um cliente precisa de duas informações:

* descritor de rede
* identificador do convite

Uma rede do PlayFab Party é identificada por um descritor de rede (`PartyNetworkDescriptor`). Trata-se de uma estrutura em grande parte opaca que codifica as informações necessárias para estabelecer uma conexão com a rede. O descritor de rede é fornecido ao cliente criador depois que a criação da rede é concluída (`PartyCreateNewNetworkCompletedStateChange`, `PartyNetwork::GetNetworkDescriptor()`). Para facilitar o desenvolvimento, o PlayFab Party fornece métodos para serializar e desserializar o descritor de rede de e para uma cadeia de caracteres adequada para a Web (`PartyManager::SerializeNetworkDescriptor(), PartyManager::DeserializeNetworkDescriptor()`).

Um identificador de convite é uma cadeia de caracteres que identifica um convite de forma exclusiva. Ele é fornecido por um cliente ao criar um convite explicitamente ou ao criar o convite inicial durante a criação da rede. Se o cliente não fornecer um identificador de convite, um identificador exclusivo será gerado.

Para anunciar a nova rede a outros usuários, envie essas duas informações por qualquer meio de comunicação apropriado.

### Ingressando em uma rede

Ingressar em uma rede é um processo de duas etapas. Um cliente que deseja ingressar em uma rede deve primeiro se conectar à rede fornecendo o descritor de rede desserializado para `PartyManager::ConnectToNetwork()` e, em seguida, autenticar um usuário fornecendo o identificador do convite para `PartyNetwork::AuthenticateLocalUser()`.

## Exemplos de cenários

### Convites sociais

O cenário mais simples é aquele em que um único usuário cria uma sessão de jogo e deseja convidar outros usuários conhecidos por meio da plataforma social que compartilham. O fluxo pode ser algo assim:

* Quem convida cria a rede com um convite aberto ou com um convite que contém todos os usuários com quem deseja jogar.
* Depois que a rede é criada, quem convida envia o descritor de rede e o identificador do convite para os outros usuários por meio do mecanismo de convite da plataforma social.
* Cada usuário convidado usa o descritor de rede e o identificador do convite para se conectar à rede.

<Note>
  Ao especificar usuários em um convite, são usadas as [IDs de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities) `title_player_account` dos usuários. Essas IDs de entidade precisarão ser obtidas fora do PlayFab Party.
</Note>

### Lobby

Se o seu jogo fornecer um lobby que permita o envio de dados entre clientes, ele poderá ser usado como meio de comunicação para trocar informações de conexão de rede. O fluxo pode ser algo assim:

* Um conjunto de usuários é selecionado para jogar junto.
* Um desses usuários é selecionado como criador.
* Cada usuário do conjunto envia sua [ID de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities) `title_player_account` para o criador.
* O criador cria a rede, especificando as IDs de entidade dos usuários na configuração do convite inicial.
* Depois que a criação da rede é concluída, o criador envia o descritor de rede e o identificador do convite inicial para o conjunto de usuários que deve ingressar.
* Cada usuário usa o descritor de rede e o identificador do convite para se conectar à rede.

### Matchmaking

Um serviço de matchmaking, como o [PlayFab Matchmaking](/pt-BR/services/playfab/live-service-management/game-configuration/entities), pode ser usado para encontrar uma lista de usuários com quem jogar. O fluxo pode ser algo assim:

* Os usuários iniciam uma solicitação de partida com o serviço. A [ID de entidade](/pt-BR/services/playfab/live-service-management/game-configuration/entities) `title_player_account` deve fazer parte da solicitação, pois o resultado da partida deve conter a ID de entidade de cada usuário.
* Os usuários recebem um resultado de partida que contém o conjunto de usuários que devem fazer parte da rede.
* Um algoritmo predeterminado é usado para selecionar qual usuário será o criador.
* O criador cria a rede, especificando as IDs de entidade dos outros usuários combinados na configuração do convite inicial.
* Depois que a criação da rede é concluída, o criador usa um meio de comunicação externo para enviar o descritor de rede e o identificador do convite inicial aos outros usuários combinados.
* Cada usuário combinado usa o descritor de rede e o identificador do convite para se conectar à rede.

<Note>
  É necessário um meio de comunicação externo para enviar as informações de conexão do criador para os outros usuários combinados.
</Note>


## Related topics

- [Requisitos do XBOX](/pt-BR/services/playfab/multiplayer/networking/xbox-requirements.md)
- [Convites do PlayFab Party e o modelo de segurança](/pt-BR/services/playfab/multiplayer/networking/concepts-invitations-security-model.md)
- [Início rápido do Party](/pt-BR/services/playfab/multiplayer/networking/quickstart.md)
- [Usando várias redes do PlayFab Party](/pt-BR/services/playfab/multiplayer/networking/concepts-multiple-networks.md)
- [Códigos de erro do PlayFab Party](/pt-BR/services/playfab/multiplayer/networking/reference/partyerrors.md)
