web-dev-qa-db-fra.com

Code d'erreur de service de jeu Google 400

Il existe une application qui utilise le service de jeux, mais pour une raison quelconque, elle ne fonctionne plus. Il semble parfois que je puisse me connecter avec succès, mais généralement - non. si j'ai vérifié le trafic API, il y a environ 10% de code de réponse obtenu = 200 et les autres - 404. 

méthodes qui obtiennent 404:

  • jeux.applications.played
  • jeux.events.record

quand j'ai essayé de vérifier l'erreur dans le journal, je vois:

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

je ne comprends pas pourquoi il n'y a pas d'identifiant dans le message "ID application invalide avec valeur". parce que j'ai ajouté id dans l'application. J'ai également essayé de changer l'ID et, dans ce cas, j'ai eu une erreur qui indique que l'ID XXXXXXXXXXXX n'est pas lié à l'application my.package.name.

j'ai également vérifié les empreintes digitales Application ID, SHA, réimporter google-services.json et essayé d'ajouter OAuth2 Client ID manuellement à partir d'applications liées. Vérifiez les instructions des services de jeu et tout se passe bien. Que puis-je vérifier de plus? 

Mettre à jour:

essayé de mettre à jour play-servies à 11.8.0 et d'utiliser GoogleSignInClient

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

mais aussi eu une erreur:

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

Essayez ceci, Commencez par les services de débogage en lecture,

  • Activez les services de lecture Debug dans le code> apk> installer sur le périphérique> ouvrez le dossier "Moniteur" du dossier "Outils" dans Android sdk> connectez le périphérique à votre PC> exécutez

  • Après le débogage, si vous avez ce message

"Vous avez des configurations incorrectes liées à OAUth2, veuillez vérifier. Erreur détaillée ; UNREGISTR_ON_API_CONSOLE" "OnSignInFailed () ..."

  • Aller à 

 enter image description here

Copiez/collez simplement le "certificat de signature d'application" "l'empreinte digitale du certificat SHA-1" - au lieu du "certificat de téléchargement" "l'empreinte digitale du certificat SHA-1" qui est celle de votre magasin de clés, à l'intérieur du client d'ID API OAuth 2.0.

Cela fera votre travail !!

À partir de maintenant, les jeux Google Play ne se connectent plus en local. Mais la connexion s’est établie avec succès lors de son importation dans le Google Play Store (la signature de l’application Google fait exactement ce qu’elle est supposée faire: elle modifie votre SHA1 du certificat de téléchargement vers le signataire de la signature de l’application).

Note: _ L'image ci-dessus est extraite d'un des numéros libres de GitHub. J'espère que cela vous aidera !!

1
PN10

J'ai également eu la "Com.google.Android.gms.common.api.ApiException: 4" sur un appareil. La mise à jour de l'application Google Play Jeux a résolu ce problème.

Ensuite, je devais simplement cliquer manuellement sur le bouton de connexion de Google dans mon application. J'espère que cela vous aidera!

en utilisant gms_library_version '11 .8.0 ' et le code que j'utilise:

 @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

Effacer le cache et les données est également l’une des solutions majeures à ces erreurs.

1. Allez dans Paramètres >> Allez dans Paramètres d'application (sur certains appareils, les paramètres d'application sont nommés comme applications). 2.Accédez à, Toutes les applications>> Trouver le Google Play Store >> Effacer les données et le cache 3.Une fois que vous avez tout effacé, vous devez ensuite forcer l'arrêt de l'application. En outre, Rechercher Google Services Framework >> Ouvrir Google Services Framework >> Effacer le cache et les données Maintenant , Redémarrez votre appareil et essayez de télécharger l'application.

comme décrit ici. code d'erreur 4 signifie

public static final int SIGN_IN_REQUIRED

Le client a tenté de se connecter au service mais l'utilisateur n'est pas Connecté. Le client peut choisir de continuer sans utiliser l'API. Alternativement, si hasResolution () renvoie true, le client peut appeler startResolutionForResult (Activity, int) pour inviter l'utilisateur à se connecter. Après le retour de l'activité de connexion avec RESULT_OK, les autres tentatives doivent réussir. 

Valeur constante: 4

alors, assurez-vous que l'empreinte digitale SHA-1 signing-certificate de votre application dans la console des développeurs Google appartient à la même clé que celle utilisée pour signer l'APK que vous testez.

lors de l’assemblage de la version de débogage, Android Studio utilise sa propre clé de débogage. Vous pouvez le changer de

en cliquant avec le bouton droit de la souris sur le dossier de l'application dans le répertoire du projet -> sélection de "Open Module Settings"-> onglet "Signing" -> configurer la même clé que celle que vous avez mentionnée dans la console de développement Google. Après cela, accédez à l'onglet "Types de construction" et sélectionnez votre configuration de signature.

OU

checkout cette réponse aussi.

1
Omi