it-swarm.dev

Código de erro do serviço de jogo de jogo do Google 400

Existe um aplicativo que usa o serviço de jogos, mas por algum motivo ele pára de funcionar. Parece que algumas vezes eu consigo logar com sucesso, mas normalmente - não. se eu verifiquei o tráfego da API, há cerca de 10% de código de resposta = 200 e outros - 404. 

métodos que obtêm 404:

  • games.applications.played
  • games.events.record

quando eu tentei verificar erro no log eu vejo:

11705-13707/com.google.Android.gms W/GamesServiceBroker: Client connected with SDK 12171000, Services 11975436, and Games 54390036
11705-9262/com.google.Android.gms E/BoundService: No such BoundService for action: com.google.Android.gms.auth.APP_CERT
11705-9262/com.google.Android.gms E/BoundService: No such BoundService for action: com.google.Android.gms.auth.APP_CERT
691-778/system_process E/PROXIMITY: ProximitySensor: unknown event (type=3, code=0)
8876-8890/com.agminstruments.drumpadmachine V/FA: Inactivity, disconnecting from the service
691-778/system_process E/PROXIMITY: ProximitySensor: unknown event (type=3, code=0)
2254-2269/? I/PerfService: PerfServiceNative_getPackName
11705-16860/com.google.Android.gms E/Volley: [3966] BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/games/v1/players/me?language=ru-RU
11705-9262/com.google.Android.gms E/PlayerAgent: Unable to load player g08394879143000804289
11705-9262/com.google.Android.gms W/PlayerAgent: {"errors":[{"domain":"global","reason":"invalid","message":"Invalid applicationId with value . Reason: No application ids specified."}],"code":400}
3978-3978/com.google.Android.play.games.ui I/SignInActivity: Transition from 8 to 11
3978-3978/com.google.Android.play.games.ui W/SignInActivity: onSignInFailed()...
3978-3978/com.google.Android.play.games.ui W/SignInActivity: Sign in failed during 8
3978-3978/com.google.Android.play.games.ui W/SignInActivity: ==> Returning non-OK result: 10002

eu não entendo porque não há identificação na mensagem "ApplicationId inválido com valor." porque eu adicionei id no aplicativo. Também eu tentei mudar o ID, e neste caso eu recebi um erro que ID XXXXXXXXXXXX não vinculado com app my.package.name.

também eu verifiquei duas vezes Application ID, SHA impressões digitais, re-import google-services.json também tentei adicionar manualmente OAuth2 Client ID de aplicativos vinculados. Verifique a instrução de serviços de reprodução e tudo parece ok. o que mais posso verificar? 

Atualização:

tentou atualizar play-servies para 11.8.0 e usar GoogleSignInClient

 mGoogleSignInClient = GoogleSignIn.getClient(application, GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
 activity.startActivityForResult(mGoogleSignInClient.getSignInIntent(), 312);

mas também recebi um erro:

com.google.Android.gms.common.api.ApiException: 4: 
8
Siarhei

Tente isto, Primeiro comece com os serviços de Reprodução de Depuração,

  • Ativar serviços de reprodução de depuração no código> fazer apk> instalar no dispositivo> abrir "Monitor" da pasta "ferramentas" no Android sdk> conectar o dispositivo ao PC> executar

  • Após a depuração, se você recebeu esta mensagem

"Você tem configurações relacionadas ao OAUth2 erradas, por favor verifique. Erro detalhado ; UNREGISTERED_ON_API_CONSOLE" "OnSignInFailed () ..."

  • Vamos para 

enter image description here

Basta copiar/colar o "certificado de assinatura do aplicativo" "impressão digital do certificado SHA-1" - em vez do "Carregar certificado" "Impressão digital do certificado SHA-1", que é o do seu keystore, dentro do cliente de ID da API OAuth 2.0.

Isso fará o seu trabalho !!

A partir de agora, o google play games não tem mais conexão local. Mas ele está se conectando com sucesso quando é importado para o Google Play Store (a assinatura do Google App faz exatamente o que é suposto fazer: ele altera o seu SHA1 do "upload de certificado" para o "Assinatura do aplicativo").

Note:A imagem acima foi tirada de uma das edições abertas do GitHub. Espero que isso ajude !!

1
PN10

Também tive o "com.google.Android.gms.common.api.ApiException: 4" em um dispositivo. A atualização do app Google Play Games resolveu esse problema para mim.

Então eu tive que clicar manualmente no botão de Login do Google no meu aplicativo. Espero que isso ajude!

usando gms_library_version '11 .8.0 ' e o código que estou usando:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //...
    mGoogleSignInClient = GoogleSignIn.getClient(this, new GoogleSignInOptions
            .Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build());
    //...
 }



// when the button gets clicked
public void startSignInIntent() {
    startActivityForResult(mGoogleSignInClient.getSignInIntent(), RC_SIGN_IN);
}


    @Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {

    if (requestCode == RC_SIGN_IN) {

        Task<GoogleSignInAccount> task =
                GoogleSignIn.getSignedInAccountFromIntent(intent);

        try {
            GoogleSignInAccount account = task.getResult(ApiException.class);
            onConnected(account);
        } catch (ApiException apiException) {
            String message = apiException.getMessage();
            if (message == null || message.isEmpty()) {
                message = getString(R.string.signin_other_error);
            }

            onDisconnected();

            new AlertDialog.Builder(this)
                    .setMessage(message)
                    .setNeutralButton(Android.R.string.ok, null)
                    .show();
        }
    }

    //...
  }
1
Daniel Metzner

Limpar o cache e os dados também é uma das principais soluções para esses erros.

1. Vá para configuração >> Vá para a configuração do aplicativo (em alguns dispositivos, a configuração do aplicativo é denominada como aplicativos). 2.Go para, Todos os aplicativos>> Localizar a Google Play Store >> Limpar dados e cache 3.Depois de ter tudo claro, Em seguida, você precisa Forçar o aplicativo. Além disso, Encontre o Google Services Framework >> Abra o Google Services Framework >> Limpe o cache e os dados Agora , Reinicie o seu dispositivo e tente baixar o aplicativo.

1

como descrito aqui. código de erro 4 significa

public static final int SIGN_IN_REQUIRED

O cliente tentou se conectar ao serviço, mas o usuário não assinou com . O cliente pode optar por continuar sem usar a API. Alternativamente, se hasResolution () retornar true, o cliente poderá chamar startResolutionForResult (Activity, int) para avisar ao usuário para entrar. Depois que a atividade de login retornar com RESULT_OK, mais tentativas devem ser bem-sucedidas. 

Valor Constante: 4

portanto, verifique se a impressão digital SHA-1 signing-certificate do seu aplicativo no console do Google para desenvolvedores pertence à mesma chave usada para assinar o APK que você está testando.

ao montar a compilação de depuração, o Android Studio usa a própria chave de depuração. Você pode mudá-lo de

clique com o botão direito do mouse na pasta do aplicativo em Project dir -> selecionando "Open Module Settings"-> "Signing" tab -> configure a mesma chave que você mencionou no google dev dev. Depois disso, navegue até a guia "Tipos de construção" e selecione sua configuração de assinatura.

OU

checkout esta resposta também

1
Omi