API Recall

Com a API Recall, os jogos podem gerenciar links entre os usuários dos serviços relacionados a jogos do Google Play (PGS) e as contas deles no jogo armazenando tokens de recuperação com os servidores do Google. Confira este exemplo de como a API Recall pode ser usada.

  1. 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.

    O usuário fez login no PGS e em uma conta
no jogo.

  2. 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.

    O servidor de jogos armazena tokens de recuperação com os servidores
do Google.

  3. Agora, o usuário decide jogar no Google Play Games no PC pela primeira vez. O usuário é autenticado automaticamente com a conta do PGS, e o cliente do jogo verifica se há algum progresso disponível para esse usuário. Em seguida, o servidor de jogos consulta o Google para saber se há tokens para essa conta do PGS. Como há, o Google envia o token de recuperação, e o servidor de jogos usa esse token para encontrar a conta associada do usuário Racer94 e restaurar o progresso. Como a autenticação com o PGS é uma experiência simples, o progresso do usuário é restaurado pelo app sem que seja necessário inserir um nome de usuário ou uma senha. Além disso, o desenvolvedor pode usar a autenticação do PGS com o sistema de identidade atual e confiar no Google para armazenar o vínculo entre o progresso e a conta do jogador.

    O servidor de jogos restaura o progresso com o token
de recuperação

Conforme mostrado no exemplo anterior, há duas ações principais que são realizadas pela API Recall:

  • Armazenar o token com o Google quando um usuário faz login com uma das contas no jogo.

  • Recuperar o token de um usuário para restaurar as contas no jogo.

Além dos tokens de recuperação, a API Recall também requer um identificador estável correspondente à conta no jogo, conhecido como perfil. Pense em um perfil como o rótulo que representa a conta no jogo do usuário no sistema de identidade do desenvolvedor, e o token de recuperação como uma chave usada para restaurar a conta do usuário no jogo. Os valores de perfil e o token não podem ser reutilizados em projetos diferentes do PGS. Além disso, embora os tokens de recuperação possam ser alterados ao longo do tempo, o perfil precisa ser estável de acordo com a conta do usuário no jogo.

Fluxos técnicos para armazenar e extrair os tokens de recuperação

Nesta seção, abordamos o fluxo técnico entre o cliente os servidores do jogo em relação os servidores do Google ao armazenar e extrair tokens de recuperação.

Etapa 1: autenticar o usuário do PGS e extrair o ID da sessão

O jogo inicializa o SDK do PGS e tenta autenticar o usuário com esses serviços.

Autenticação do usuário com o PGS

Supondo que o usuário esteja autenticado, 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.

O desenvolvedor solicita um
ID de sessão

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.

O desenvolvedor extrai o token
de recuperação

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.

O desenvolvedor restaura os dados do token
de recuperação

Etapa 3b: armazenar um token, se nenhum estiver presente

Como não há nenhum token, nenhum progresso é restaurado. O usuário faz a autenticação na plataforma usando o sistema de identidade do desenvolvedor ou cria uma nova conta, caso não exista uma. Observação: esse não é um login no PGS (que já foi feito), mas com um sistema de identidade do desenvolvedor fora do PGS.

O usuário faz a autenticação com a conta
no jogo.

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.

O desenvolvedor armazena o token de recuperação

Fluxos para usuários sem um perfil dos Serviços relacionados a jogos do Google Play

Você pode armazenar tokens de recall para um usuário que ainda não criou um perfil do PGS usando o modo sem perfil. No entanto, há duas restrições 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. A criação de perfil é solicitada 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 as diretrizes adicionais para garantir que você tenha um aviso adequado descrevendo os seguintes itens e obtendo o consentimento apropriado do usuário final:
    • Seu compartilhamento dos dados com o Google para ativar o recurso de vinculação de contas do Play Games.
    • A disponibilidade de configurações para gerenciar esse compartilhamento, como as do Play Games.
    • O tratamento desses dados de acordo com a Política de Privacidade do Google.

Armazenar um par de token e perfil

Um usuário sem perfil do PGS abre um jogo

  1. Um usuário sem um perfil do PGS abre um jogo com o recurso de recall sem perfil ativado.
  2. O SDK Games aciona uma autenticação automática da plataforma, que falha porque o usuário não tem um perfil do PGS.
  3. O SDK Games mostra uma snackbar informando ao usuário que o jogo tem integração com o Google. Essa snackbar é interativa: o usuário pode desativar o recurso de recordação até que um perfil seja criado.
  4. O jogo solicita acesso de recall. O PGS rejeita solicitações de acesso de recuperação quando há perfis do PGS no dispositivo ou quando não há Contas do Google no dispositivo. Nesse caso, o jogo precisa continuar sem usar o PGS.
  5. Depois que o usuário faz login com uma conta no jogo, o jogo cria um token e um par de personas para o usuário que corresponde à conta no jogo. O jogo armazena esse par com o Google. O jogo pode armazenar mais tokens depois se o usuário fizer login em outras contas no jogo.

Iniciar um jogo em um novo dispositivo

  1. Um usuário sem um perfil do PGS abre um jogo com o recall sem perfil ativado em um dispositivo.
  2. O jogo registra um token de recall sem perfil conforme descrito em Armazenar um token e um par de perfis.
  3. O usuário abre o mesmo jogo em um dispositivo diferente com a mesma configuração de conta.
  4. O SDK do Play Games aciona a criação de perfil. O usuário pode analisar e rejeitar tokens de recall armazenados anteriormente. O usuário cria um perfil do PGS nesse momento.
  5. A autenticação automática da plataforma no PGS é concluída, e o jogo recebe o status autenticado.
  6. O jogo recupera os tokens de recall para o usuário normalmente.

Próximas etapas

Para integrar a API Recall ao cliente e ao servidor de jogos, siga estas orientações.