A API Recall permite que os jogos usem os serviços relacionados a jogos do Google Play (PGS, na sigla em inglês) como um complemento da os mecanismos de login existentes, como o login do Google, e sincronizam perfeitamente jogadores informações de login em todos os dispositivos para diminuir a desistência de usuários na integração e aumentar a retenção do D1. A API gerencia vinculações entre a conta dos serviços relacionados a jogos do Google Play (PGS, na sigla em inglês) de um usuário e as contas deles no jogo armazenando tokens de recuperação nos servidores do Google. Confira exemplo de cenário de como a API Recall pode ser usada:
Um usuário está jogando um jogo em que o desenvolvedor tem um sistema de identidade para acompanhar o progresso do usuário e usa o PGS em paralelo com outros métodos de autenticação para conectar os usuários ao jogo. Neste exemplo, o usuário fez login na conta do PGS Laura e cria uma conta no jogo com o sistema de identidade do desenvolvedor chamado Racer94. À medida que o usuário joga, o servidor de jogos do desenvolvedor sincroniza o progresso.
Separadamente, o desenvolvedor salva um token de recuperação com o Google, que corresponde à conta no jogo do usuário. O Google armazena automaticamente esse token no perfil do PGS do usuário.
Agora, o usuário decide jogar no Google Play Games no PC pela primeira vez tempo de resposta. O usuário faz login automaticamente com a conta do PGS, e a O cliente do jogo verifica se há progresso disponível para este PGS usuário. O servidor de jogos consulta o Google para ver se há tokens para nesta conta dos Serviços relacionados a jogos do Google Play. Como há, o Google envia de volta o token de recuperação. o servidor de jogos usa esse token para encontrar a conta associada do usuário Racer94 e restaura o progresso. Como fazer login com os Serviços relacionados a jogos do Google Play é uma sem atrito, o progresso do usuário é restaurado pelo app sem o usuário que precisa inserir um nome de usuário ou uma senha. Além disso, o desenvolvedor podem usar o login do PGS com o próprio sistema de identidade e confiar nas para armazenar o vínculo entre o progresso do jogador e a conta do PGS.
Como visto no exemplo acima, há duas ações principais que são a API Recall:
- Armazenar o token com o Google quando um usuário faz login com um dos contas de serviço.
- Recuperar o token de um usuário para restaurar o token no jogo contas de serviço.
Além dos tokens de recuperação, a API Recall também exige um identificador estável correspondente à conta no jogo, conhecida como persona, para aplicar restrições de cardinalidade. Talvez você pense em uma persona como o rótulo que representa a conta do usuário no jogo sistema de identidade e o token de recuperação como uma chave usada para restaurar à conta no jogo. Valores de perfil e token não podem ser reutilizados em diferentes Projetos PGS. Além disso, embora os tokens de recuperação possam ser alterados ao longo do tempo, a persona precisa ser estável de acordo com a conta no jogo.
Regras de cardinalidade
A API Recall aplica uma relação um para um entre perfis do PGS e contas no jogo (chamadas de regras de cardinalidade), em que um perfil de jogador só pode ser vinculado a um perfil do PGS e vice-versa. O perfil do jogador é usado como um identificador estável para uma conta no jogo, já que os tokens de recuperação podem mudar com o tempo.
O perfil de jogador vinculado a um perfil do PGS também pode mudar ao longo do tempo, já que diferentes contas no jogo são vinculadas ao perfil do PGS.
Fluxos técnicos detalhados para armazenar e extrair os tokens de recuperação
Esta seção aborda o fluxo técnico entre o cliente do jogo, o servidor do jogo, e os servidores do Google ao armazenar e recuperar tokens de recuperação:
Etapa 1: conectar o usuário do PGS e extrair o ID da sessão
O jogo inicializa o SDK do PGS e tenta fazer o login do usuário com esses serviços.
Supondo que o usuário esteja conectado, solicite um ID de sessão do SDK do Play Games no cliente do jogo e um token do OAuth 2.0 do back-end de OAuth do Google. O ID da sessão e os tokens OAuth 2.0 são usados para se comunicar com o back-end do Google Games.
Etapa 2: extrair todos os tokens de recuperação disponíveis
Solicite todos os tokens de recuperação associados à conta do usuário do PGS. Se um token estiver presente, prossiga para a Etapa 3a e restaure o progresso. Caso contrário, se for um novo usuário e ele não tiver um token, prossiga para a Etapa 3b e armazene um novo token.
Etapa 3a: restaurar o progresso se o token estiver presente
Se houver um token, extraia e descriptografe o token e restaure os dados do usuário.
Etapa 3b: armazenar um token, se nenhum estiver presente
Como não há nenhum token, nenhum progresso é restaurado. O usuário faz o login usando o sistema de identidade do desenvolvedor ou cria uma nova conta, caso não exista uma.
Crie um token de recuperação criptografado que codifique a conta do usuário no jogo e o envie ao Google com o ID da sessão e o token OAuth 2.0. Nesse momento, o Google criará uma associação entre o token de recuperação que foi enviado e a conta do PGS do jogador.
Fluxos para usuários sem um perfil dos Serviços relacionados a jogos do Google Play
É possível armazenar tokens de recall para um usuário que ainda não criou um perfil dos Serviços relacionados a jogos do Google Play usando o modo sem perfil. No entanto, há duas ressalvas importantes:
- Não é possível recuperar tokens de um usuário que não tem um perfil dos Serviços relacionados a jogos do Google Play. Perfil criação é exibida automaticamente quando o usuário tenta fazer login no jogo com os serviços relacionados a jogos do Google Play em um segundo dispositivo.
- Siga outras diretrizes.
para garantir que você tenha um aviso apropriado descrevendo os seguintes itens e
obter o consentimento apropriado do usuário final:
- Compartilhamento dos dados com o Google para ativar a conta do Play Games recurso de vinculação.
- A disponibilidade das configurações para gerenciar esse compartilhamento, como o Play Games configurações.
- O processamento desses dados de acordo com a Política de Privacidade do Google Política.
Armazenar um par de token e perfil
- Um usuário sem um perfil dos Serviços relacionados a jogos do Google Play (PGS, na sigla em inglês) abre um jogo com o recall sem perfil ativado.
- O SDK do Play Games aciona um login automático, que falha porque o usuário não há um perfil dos Serviços relacionados a jogos do Google Play.
- O SDK do Play Games mostra uma snackbar que informa ao usuário que o jogo e integração com o Google. Essa snackbar é acionável, ou seja, o usuário pode desativar recuperar até que um perfil seja criado.
- O jogo pede um recall do acesso. O PGS rejeita solicitações de acesso de recall quando há perfis dos Serviços relacionados a jogos do Google Play no dispositivo ou quando não há perfis do Google Contas no dispositivo. Nesse caso, o jogo deve continuar sem usar Serviços relacionados a jogos do Google Play.
- Depois que o usuário faz login com uma conta, o jogo cria um token e para o usuário que corresponde à conta dele no jogo. O jogo armazena o par com o Google. O jogo pode armazenar mais tokens mais tarde se o o usuário faz login em outras contas no jogo.
Iniciar um jogo em um novo dispositivo
- Um usuário sem um perfil dos Serviços relacionados a jogos do Google Play (PGS, na sigla em inglês) abre um jogo com o recall sem perfil ativado em um dispositivo.
- O jogo registra um token de recuperação sem perfil, conforme descrito em Armazenar um token. e perfil de persona.
- o usuário abrir o mesmo jogo em outro dispositivo com a mesma conta; configuração da infraestrutura.
- O SDK do Play Games aciona a criação de perfis. O usuário pode analisar e rejeitar de tokens de recuperação armazenados anteriormente. Agora o usuário cria um perfil dos Serviços relacionados a jogos do Google Play.
- O login automático no PGS é concluído, e o jogo recebe a o status de autenticação dele.
- O jogo recupera tokens de recuperação para o usuário normalmente.
Próximas etapas
Para integrar a API Recall ao seu cliente e servidor de jogos, siga estas instruções: guia de implementação.