Pular para o conteúdo principal

Correção para usar LoginWithGoogleAccount no Play Games Plugin for Unity v0.11.x

Este artigo descreve uma solução alternativa para quando você recebe erros ao usar a API LoginWithGoogleAccount após atualizar para uma versão do Play Games Plugin for Unity. O erro ocorre quando os jogadores existentes não migraram para usar LoginWithGooglePlayGamesServices depois que você atualizou o Play Games Plugin for Unity para uma versão maior ou igual a v0.11.x. O motivo é que o Google removeu a possibilidade de adicionar escopos extras nas versões do plug-in maiores ou iguais a 0.11.x. Essa solução alternativa deve ser considerada uma alternativa de fallback, pois a necessidade de entrar pelo navegador pode afetar a experiência do jogador.

Antes de começar

Siga estas etapas de alto nível para corrigir a autenticação ao usar a versão mais recente do plug-in.
  1. Chamar manualmente as APIs OAuth2 do Google
  2. Executar a autenticação do jogador em uma guia do navegador
  3. Obter um código de autenticação de redirecionamento de volta para o jogo usando links diretos do Android.

Recomendação

Enquanto ainda estiver usando a versão 0.10.x do plug-in, migre seus usuários para usar a API LoginWithGooglePlayGamesServices. Use as etapas a seguir como método de fallback para o restante dos seus jogadores após atualizar para a versão 0.11.x ou posterior do plug-in.

Etapas de correção

  1. Adicione um intent do Android ao seu jogo usando links diretos. (Etapas adaptadas de Unity - Manual: Deep linking on Android (unity3d.com)) a. Na janela Project, vá para Assets > Plugins > Android. b. Crie um novo arquivo e chame-o de AndroidManifest.xml. O Unity processa automaticamente esse arquivo quando você compila seu aplicativo. c. Copie o exemplo de manifesto a seguir no novo arquivo, atualize o elemento data com o URI do seu aplicativo e salve-o. Para obter mais informações sobre como criar uma tag data adequada, confira este artigo.
    d. Certifique-se de que a propriedade autoVerify exista na tag intent-filter.
  2. Para que os links diretos funcionem, a partir do Android 12, o Google agora exige que os desenvolvedores hospedem um arquivo assetlinks.json em um local conhecido para redirecionar com êxito para o aplicativo. Por exemplo, se o seu URI de redirecionamento for https://mytestapp.com/path1/subpath, você deverá hospedar um arquivo assetlinks.json válido em https://mytestapp.com/.well-known/assetlinks.json; caso contrário, os links diretos não funcionarão e você não será redirecionado de volta ao aplicativo para continuar. Para obter detalhes sobre como criar um arquivo assetlinks.json, confira Verify Android App Links.
  3. Adicione o processamento de links diretos ao seu jogo. (Etapas adaptadas de Unity - Manual: Deep linking (unity3d.com)).
  4. Adicione um código para abrir um navegador na API OAuth2 do Google e permitir que o jogador entre pelo navegador. Se o jogador já estiver conectado no navegador, a transição será perfeita; caso contrário, ele precisará inserir suas credenciais.
    O URI de redirecionamento deve corresponder ao filtro de intent do Android que adicionamos na etapa 1. Assim, quando o usuário concluir a autenticação, o navegador navegará até esse URI de redirecionamento e deverá perguntar ao usuário se ele deseja voltar ao aplicativo.
  5. Agora, você deve estar pronto para testar. Quando você disparar a autenticação, um navegador deverá ser aberto e o usuário deverá entrar adequadamente. A menos que os dados do navegador sejam excluídos, esta etapa deverá ser um processo único. Usar LoginWithGoogleAccount: etapa 1
  6. Depois que o usuário concluir a autenticação, o navegador perguntará em qual aplicativo a URL de redirecionamento deve ser aberta. Usar LoginWithGoogleAccount: etapa 2
  7. Essa ação navega de volta ao nosso aplicativo, e podemos obter o código dos parâmetros de consulta na URL de redirecionamento e prosseguir com a chamada de LoginWithGoogleAccount. Usar LoginWithGoogleAccount: etapa 3
  8. Por fim, recomendamos usar este método como alternativa de fallback para os usuários que não puderam ser migrados usando as etapas de migração.
Lembre-se de que você deve acompanhar quais usuários já foram migrados para usar LoginWithGooglePlayGamesServices, dar preferência ao mecanismo de login automático fornecido pelo plug-in e usar este método como solução alternativa para os usuários que não foram migrados.
Última modificação em 6 de outubro de 2026