Pular para o conteúdo principal

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 por um usuário em um único cliente, anunciada e, em seguida, acessada 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 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.
Ao especificar usuários em um convite, são usadas as IDs de entidade title_player_account dos usuários. Essas IDs de entidade precisarão ser obtidas fora do PlayFab Party.

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 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, 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 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.
É necessário um meio de comunicação externo para enviar as informações de conexão do criador para os outros usuários combinados.
Última modificação em 8 de outubro de 2026