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
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
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 paraPartyManager::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_accountpara 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_accountdeve 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.
