Pular para o conteúdo principal
Digamos que você precise de guildas, clãs, corporações, empresas, tribos, ou seja lá como o seu jogo os chama: o PlayFab pode atender à sua necessidade de agrupamento durável de jogadores usando o Modelo de programação de entidades. A entidade de grupo pode ser usada para armazenar coleções de outras entidades, incluindo jogadores ou personagens, que podem servir a muitos propósitos dentro do seu jogo.

Exemplos

  • Clãs/guildas - Os grupos de entidades podem ser usados para descrever um conjunto de jogadores que jogam juntos regularmente, seja qual for o vínculo social que os mantém unidos a longo prazo.
  • Grupos - Os grupos de entidades podem ser usados para grupos de curto prazo criados para permitir que jogadores individuais atinjam um objetivo imediato e, depois, sejam facilmente desfeitos.
  • Canais de chat - Canais de chat de curto ou longo prazo podem ser definidos como um grupo de entidades.
  • Assinatura de informações no jogo - Você tem um item lendário de instância única no seu jogo? Os jogadores querem atualizações constantes sobre o que está acontecendo com esse item? Crie um grupo de entidades focado nesse item, tendo como membros todas as entidades de jogador interessadas no item.
Em resumo, os grupos de entidades podem ser qualquer coleção de entidades (sejam NPCs ou controladas por jogadores, reais ou abstratas) que precisem de um estado persistente vinculado a esse grupo. Além disso, como os grupos de entidades também são entidades, eles contêm todos os recursos iniciais das entidades:
  • Dados de objeto
  • Dados de arquivo
  • Perfis
Os grupos têm um limite padrão de 1000 membros por grupo e só oferecem suporte a jogadores e personagens como membros

Usando grupos de entidades

Ao criar um grupo, a primeira entidade adicionada ao grupo é colocada em uma função de Administrador (para simplificar, este guia se refere a essa entidade como proprietário). O proprietário poderá então convidar novos membros, criar novas funções com uma ampla variedade de permissões personalizáveis, modificar funções de membros, expulsar membros etc. Além disso, as mesmas funções de entidade que existem para entidades também funcionam para grupos, então você poderá salvar objetos JSON e arquivos diretamente no grupo para armazenar dados arbitrários específicos do jogo. O exemplo de código fornecido abaixo deve dar a você um ponto de partida para a interação básica com guildas. Ele permite criar grupos, adicionar e remover membros e excluir o grupo. Ele foi pensado como um ponto de partida e não demonstra nenhuma das funções ou permissões.

Desconstruindo o exemplo

Este exemplo é construído como um controlador, que salva o mínimo de dados em um cache local (sendo o PlayFab a camada de dados autoritativa) e oferece uma maneira de executar operações CRUD em grupos. Vamos dar uma olhada em algumas das funções do exemplo fornecido:
  • OnSharedError - Esse é um padrão típico nos exemplos do PlayFab. A maneira mais simples de lidar com um erro é relatá-lo. O cliente do seu jogo provavelmente terá uma lógica de tratamento de erros muito mais sofisticada.
  • ListMembership - Chama ListMembership para determinar todos os grupos aos quais a entidade fornecida pertence. Os jogadores querem saber de quais grupos já participam.
  • CreateGroup/DeleteGroup - Praticamente autoexplicativas. Este exemplo demonstra a atualização do cache local de informações do grupo quando essas chamadas são executadas com sucesso.
  • InviteToGroup/ApplyToGroup - Entrar em um grupo é um processo de duas etapas, e pode ser iniciado em ambas as direções:
    • Um jogador pode pedir para entrar em um grupo.
    • Um grupo pode convidar um jogador.
  • AcceptGroupInvitation/AcceptGroupApplication - A segunda etapa do processo de entrada. A entidade que responde aceita o convite, concluindo o processo de tornar o jogador parte do grupo.
  • RemoveMembers - Membros com autoridade para isso (definida pelas permissões de suas funções) poderão expulsar membros de um grupo.

Servidor vs. cliente

Como todos os novos métodos de API de entidade, não há distinção entre a API de servidor e a API de cliente. A ação é executada pelo chamador, de acordo com a forma como o processo foi autenticado. Um cliente será identificado como tal e chamará esses métodos como uma entidade de jogador do título, e suas funções e permissões dentro do grupo serão avaliadas a cada chamada, garantindo que ele tenha permissão para executar essa ação. Um servidor é autenticado com a mesma developerSecretKey, que identifica esse processo como uma entidade de título. Um título ignora as verificações de função, e as chamadas de API executadas por um título só falharão se a ação for impossível de executar, como no caso em que uma entidade não pode ser removida por não ser membro.

Consulte também

Para armazenar dados dos seus grupos, guildas ou clãs:
Última modificação em 6 de outubro de 2026