Serviços relacionados a jogos do Google Play - não é possível fazer login
Logo após a palestra do Google I / O de ontem, atualizei meu SDK do Android para integrar os serviços de jogos em um dos meus aplicativos.
Coisas que fiz até agora:
adicionado e vinculado meu aplicativo no Dev Console (serviços de jogo)incluiu o ID do cliente OAuth no meu aplicativo / manifestoadicionadoBaseGameActivity
eGameHelper
ao meu projeto (do GitHub)adicionou a biblioteca google-play-services ao meu projetoestendidoBaseGameActivity
, adicionou umcom.google.android.gms.common.SignInButton
Também configurei meta-dados de jogos e, claro, algumas conquistas. O console do desenvolvedor afirma que está pronto para ser lançado. Para testar o fluxo de login e as conquistas, adicionei duas contas do Google+ como usuários de teste.
Mas quando eu testo o SignInButton, um alerta aparece:Erro desconhecido. Aqui está o logcat:
ERROR/Volley: il.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/me
ERROR/SignInIntentService: Access Not Configured
ERROR/LoadSelfFragment: Unable to sign in - application does not have a registered client ID
Eu criei meu aplicativo no modo de produção - usando o ProGuard e o certificado certo.
Perdi alguma coisa?
Atualizar - mais algumas tentativasAqui está uma breve visão geral sobre o que eu tentei nesse meio tempo. Nada ajudou.
remover e recriar a entrada do aplicativo Android vinculado (impressão digital de certificado com verificação dupla)desabilitar a piratariapular proguardcrie um novo jogo (teste) e use o ID do seu clienteO problema não está relacionado aocontas para testes seção. O uso de uma conta que não está habilitada para teste levará a outra mensagem de erro:
E/GameAgent: Unable to retrieve 1P application 547xxxxxx457 from network
E/CheckGameplayAcl: Unable to load metadata for game
Solução por Hartok!A solução da Hartok me ajudou muito a corrigir esse problema. Eu nunca visitei oConsole de APIs do Google antes. É importante saber que o ID do cliente OAuth não é excluído quando você remove um aplicativo vinculado do seu jogo ou até mesmo exclui um jogo (no Console de desenvolvimento). Você precisa visitar o Console de APIs e removê-lo manualmente.
A impressão digital SHA1 selecionada automaticamente está (sempre) errada! Você tem que procurar o seu próprio:
keytool -exportcert -alias <your-alias> -keystore <path-to-keystore> -list -v
O novo ID do cliente do meu aplicativo (corretamente) vinculado parecia89xxxxxxxx73-2u6mXXXXXXXXXXXXXXXXXXX8903.apps.goo...
, não apenas 12 dígitos como antes. Eu finalmente descobri que você tem que excluir o traço e o material alfanumérico e tem que usar apenas os 12 dígitos.