Esta página explica como integrar o login dos serviços relacionados a jogos do Google Play à sua solução de identidade ou salvamento na nuvem. Ainda que essas recomendações sejam opcionais, elas podem ajudar a atender aos requisitos de salvamento na nuvem do Google Play Games no PC. Use as páginas requisitos de continuidade e comportamentos esperados para verificar se a implementação atende a esses requisitos.
Restaurar o estado do jogador
No back-end do jogo, as contas provavelmente são representadas por algum identificador que possibilita buscar e atualizar o progresso do jogo. Vamos chamá-lo de "ID da conta" para facilitar. Quando um jogador faz login nos serviços relacionados a jogos do Google Play, você pode usar essa autenticação para receber um novo identificador, o ID do jogador, que é usado para ativar o requisito de salvamento na nuvem.
Caso um jogador faça login com os serviços relacionados a jogos do Google Play, siga estas etapas:
- Extraia o código OAuth do cliente e o envie ao servidor.
- Troque o token de autenticação e receba um ID verificado dos serviços relacionados a jogos do Google Play no servidor do Play Games. Isso garante que o ID é confiável, e não alguém fingindo ser outro jogador em um dispositivo comprometido.
- Tente resolver a conta de jogo de acordo com as condições do dispositivo e qualquer identificador vinculado.
Dois novos cenários principais precisam ser introduzidos no jogo:
- O armazenamento dos IDs de serviços relacionados a jogos do Google Play no back-end e a atribuição deles aos
IDs de contas já existentes de alguma maneira, como estas:
- Para novos jogadores, o progresso precisa ser vinculado automaticamente aos serviços relacionados a jogos do Google Play em algum momento. Por exemplo, na inicialização do jogo, após o tutorial ou alguns níveis etc.
- Para os jogadores já existentes, o progresso atual precisa ser vinculado automaticamente aos serviços relacionados a jogos do Google Play depois que o jogador atualizar para os serviços relacionados a jogos do Google Play v2 integrados.
- É possível vincular ou desvincular o ID dos serviços relacionados a jogos do Google Play a uma ou mais contas, mas ele precisa ser vinculado a pelo menos uma conta válida.
- Restaurar automaticamente o progresso do jogo em um dispositivo desconectado ou novo com base no ID de jogador dos serviços relacionados a jogos do Google Play.
A forma de armazenar e atribuir os IDs dos serviços relacionados a jogos do Google Play a contas já existentes é flexível, conforme descrito nos exemplos abaixo. É importante lembrar que o jogador não deve precisar fazer login manualmente ou criar um vínculo com outro sistema de identidade para vincular o ID de serviços relacionados a jogos do Google Play ao progresso do jogo, e o progresso desse usuário precisa ser restaurado sem problemas nas plataformas.
Ao projetar sua solução, comece analisando o sistema existente e como ele incorpora diferentes provedores de identidade. Alguns sistemas usam um único identificador por conta, enquanto outros usam vários.
Se for possível associar cada ID de conta a um único identificador, você vai precisar adicionar suporte para associar o ID aos serviços relacionados a jogos do Google Play. As soluções abaixo demonstram como fazer isso.
Exemplos de soluções
Os exemplos incluem soluções de vinculação e recuperação.
Vinculação é o processo de associação permanente ou semipermanente do ID dos serviços relacionados a jogos do Google Play a um estado da conta. No caso da vinculação, a conta restaurada pelos serviços relacionados a jogos do Google Play não é modificada para o jogador sem a ação dele, mesmo que ele saia e faça login novamente com outra conta no jogo. Abordamos isso com a vinculação de contas.
Como desenvolvedor de jogos, você armazena um mapeamento flexível do ID dos serviços relacionados a jogos do Google Play e das últimas contas visualizadas para restauração pelo jogador ao fazer login com o serviços relacionados a jogos em outro dispositivo. Cada vez que o jogador faz login em outra conta de jogo com o mesmo ID dos serviços relacionados a jogos do Google Play, essa vinculação é modificada. Veja um exemplo de fluxograma, que abordamos mais detalhadamente no exemplo de recuperação de contas recentes abaixo:
Há mais exemplos de fluxo de usuários anexados às soluções abaixo.
Vinculação de contas
Se o jogo não tem muitos jogadores com várias contas ou se você quer incentivar os jogadores a usar uma única conta, a vinculação provavelmente é a melhor solução. Neste exemplo, você vincula a primeira conta encontrada no login feito usando o ID dos serviços relacionados a jogos do Google Play (incluindo contas de convidado ou contas vinculadas a outra plataforma de identidade) ao ID dos serviços relacionados a jogos do Google Play do jogador. Após essa vinculação, a conta é restaurada automaticamente nos novos dispositivos. Como estamos fazendo uma vinculação forte, o jogador também pode alternar entre os perfis dos serviços relacionados a jogos do Google Play para mudar de conta no jogo, e você pode solicitar a confirmação nesse caso.
Se houver contas conflitantes, recomendamos pedir ao jogador para escolher uma. Esses casos conflitantes só acontecem com jogadores que têm várias contas no jogo, provavelmente sabem disso e têm a intenção de jogar com uma conta específica.
Depois que a conta for resolvida, o jogo vai precisar lembrar a escolha do jogador, a menos que ocorra uma mudança de identificador de login. Se houver uma mudança no perfil dos serviços relacionados a jogos do Google Play ou se o jogador fizer login em outro identificador no jogo, será necessário repetir as etapas acima, já que o jogador deu um forte sinal de que quer mudar de conta.
Desvinculação
Se você quiser oferecer ao jogador a capacidade de controlar totalmente as vinculações, ofereça a opção de desvincular o ID dos serviços relacionados a jogos do Google Play de uma conta de jogo. Isso pode ser importante para alguns jogadores que têm várias contas e vincularam por engano o ID dos serviços relacionados a jogos do Google Play a uma que não é a principal.
Outros exemplos de vinculação de conta
Este exemplo principal mostra que um determinado ID de jogador dos serviços relacionados a jogos do Google Play (1) está vinculado à primeira conta no jogo encontrada (A) e não é vinculado novamente quando o jogador sai do progresso para jogar em outra conta.
Você pode permitir que os jogadores vinculem a conta novamente, mas isso não é obrigatório.
Como mudar de conta no dispositivo
Neste exemplo, o jogador trocou de conta dos serviços relacionados a jogos do Google Play manualmente e isso deu ao jogo um forte sinal de que ele quer trocar de conta. O jogador quer que o sistema reaja a essa mudança. Considerar esse sinal leva a uma melhor experiência do jogador.
Conta já existente vinculada a outro identificador
Esse exemplo mostra que até mesmo as contas vinculadas a identificadores não relacionados a serviços de jogos do Google Play precisam ser vinculadas a eles e restauradas em novos dispositivos. A maioria dos jogadores já existentes está nessa categoria.
Recuperar contas recentes
Ao pensar em soluções, um problema comum é a experiência de várias contas. Se o jogo incentiva usuários avançados a criar várias contas (como jogos de gacha ou aqueles para escolher a própria aventura), a vinculação do ID dos serviços relacionados a jogos do Google Play a uma única conta pode não oferecer a melhor experiência do jogador entre dispositivos.
Na solução de recuperação, você armazena um mapeamento flexível de um ID dos serviços relacionados a jogos do Google Play e de uma conta no jogo para que o jogador possa simplesmente ver as últimas contas armazenadas ao trocar de dispositivo ou sair da conta.
Neste exemplo, um jogador tem três contas em um jogo e migra para um novo dispositivo:
Ao solicitar a restauração, também é possível oferecer um botão "Cancelar" ou "Criar nova" para que os jogadores criem uma nova conta.
Para simplificar, o jogo pode escolher recuperar apenas a última conta detectada. Isso pode ser mais difícil para o caso de uso de alternância de várias contas, mas ainda atende ao requisito de continuidade.
Outros exemplos de recuperação
A seção a seguir inclui mais exemplos de uso da recuperação.
Smartphones que não são Android
Neste exemplo, ilustramos as duas contas recuperadas que já existem (contas de terceiros vinculadas) ou que foram criadas em outro dispositivo conectado que não tem os serviços relacionados a jogos do Play Games.
Um fluxo mais comum pode ser começar em um smartphone que não é Android e passar para o Google Play Games no PC.
Como o smartphone que não é Android não tem os serviços relacionados a jogos do Google Play, não há uma recuperação ativa, e o jogador precisa digitar as credenciais manualmente no Google Play Games no PC.
Vários perfis dos serviços relacionados a jogos do Google Play para uma única conta
Às vezes, pode haver vários perfis dos serviços relacionados a jogos do Google Play ativos que já "recuperaram" uma determinada conta. Nesse caso, existem duas soluções principais:
Salvar mesmo assim Desconsideramos ponteiros duplicados para uma determinada conta no modelo "Salvar mesmo assim".
Substituir No modelo "Substituir", o desenvolvedor precisa lembrar os serviços relacionados a jogos do Google Play para mapeamentos de conta e limpar os mapeamentos antigos nas tabelas do modelo "Substituir". Ao fazer isso, é possível manter um mapeamento individual de contas recuperadas e contas de serviços relacionados a jogos do Google Play.
Recall no mesmo dispositivo Um jogador com várias contas pode usar a implementação de recuperação para alternar rapidamente entre as contas do jogo.