web-dev-qa-db-fra.com

La connexion à Google ne fonctionne pas après la publication dans Play Store

Je suis passé par this , et en ce qui concerne le processus, je l'ai fait.

Mais lorsque j'installe l'application depuis Play Store, je ne parviens pas à me connecter à l'aide du google sign in bouton.

J'ai utilisé Firebase pour se connecter à Google. Lorsque je clique sur le bouton de connexion, l'option de choisir le compte arrive, mais il ne se connecte pas ou ne fait rien.

Alors, où est-ce que je me trompe?

33
arqam

Lorsque vous téléchargez une apk sur le Play Store, le Play Store crée une nouvelle clé SHA1 appelée "Certificat de signature d'application". Vous obtenez ce SHA1 et enregistrez dans votre console ou votre compte Firebase (selon vos besoins).

Le nouveau SHA1 se trouvera dans Released Management -> App Sigining sur votre console de jeu.

[enter image description here]

155
Prinkal Kumar

Mise à jour: Google a changé le comportement de téléchargement de l'APK, vérifiez la réponse ci-dessous!

Release APK and debug APK has different SHA1 and different API keys for google services. Les deux doivent être ajoutés dans Firebase Console -> Paramètres du projet. Téléchargez ensuite google-services.json à partir d'ici, ajoutez-le au projet et recompilez-le avec le magasin de clés de libération en utilisant l'option "Créer un fichier APK signé". Cela devrait fonctionner

34
Dima Rostopira

Le problème a été créé lorsque la signature d'application Google Play a été activée pour mon application. La signature de l'application Google Play modifie l'empreinte digitale du certificat SHA-1 (de ce qui se trouve dans mon magasin de clés) en leur propre empreinte digitale de certificat SHA-1.

Le correctif:

  1. Goto https://play.google.com/apps/publish/
  2. Cliquez sur votre application >> Gestion des versions >> Signature de l'application.

Vous verrez "Certificat de signature d'application" et "Télécharger le certificat"

  1. Copiez le SHA-1 du "Certificat de signature d'application". (LE TOP)
  2. Goto https://console.firebase.google.com/
  3. Cliquez sur votre application >> Paramètres [Icône de la boîte de vitesses à droite de l'aperçu du projet] (en haut de l'écran) >> Paramètres du projet >> Général [Tab] >> Ajouter une empreinte digitale
  4. Collez le certificat de signature d'application SHA-1. Sauver.

Tout est réparé!

7
Alan Nelson

Le problème se produit car

1) lorsque vous créez/publiez une application via la console Google Play, il existe une option pour activer la signature d'application Google Play. si vous l'activez, il s'affichera

La signature d'application Google Play est activée pour cette application.

enter image description here

alors les détails de votre certificat de téléchargement vont changer et vous devez réécrire les détails du certificat SHA-1 etc. dans les endroits respectifs.

2) Vous avez fourni débogage magasin de clés/détails du certificat SHA-1 au lieu de RELEASE détails du certificat

3) erreur lors de la génération des certificats.

Solution

1) Allez sur console Google Play

Gestion Relese -> Signature d'application

alors vous pouvez voir deux types de certificats

1- Téléchargez le certificat (votre certificat d'application fourni lors de la génération d'apk signé)

2- Certificat de signature d'application (car vous avez activé la signature d'application Google Play, ils ont donc fourni de nouveaux détails de certificat pour votre apk publié)

vous devez modifier les détails du certificat téléchargé avec de nouveaux détails fournis par google play là où vous l'avez utilisé auparavant. comme l'intégration de la connexion Google (changer SHA-1 de client OAuth ), la connexion Facebook (changer hachage de clé (générer un hachage de clé à l'aide de SHA-1, utiliser ceci lien ou copiez le hachage de clé fourni par l'écran d'erreur de connexion facebook), firebase etc.

2) fournir la version SHA-1/keyHash

créer /utiliser les détails du magasin de clés de l'apk signé.

en utilisant l'invite de commande:

google/firebase SHA-1:

keytool -exportcert -keystore path-to-debug-or-production-keystore -list -v

hachage de clé de libération facebook:

keytool -exportcert -alias <user alias name> -keystore < keystore path> | <openssl-path> sha1 -binary | <openssl-path> base64   

si un mot de passe vous est demandé, entrez votre mot de passe de magasin de clés apk signé.

3
Adarsh Vijayan P

Il existe trois types de SHA1 requis pour le cycle de vie d'une application lorsque vous utilisez Firebase

  • - débogage SHA1
  • - libérer SHA1
  • - signature SHA1 (il provient du Play Store)

Vous devez ajouter la signature SHA1 à Firebase après avoir publié votre application ici. Je joins deux captures d'écran, veuillez jeter un œil. Les certificats marqués en rouge doivent être requis enter image description here

enter image description here

3
Muhammed Fasil

Si vous avez activé "Signature de l'application Google Play" lors de la publication de votre application, vous avez probablement affaire à deux empreintes digitales:

Celui provenant de votre magasin de clés local (keytool -exportcert -keystore path-to-production-keystore -list -v), connu sous le nom de "upload cert".

Le nouveau généré par Google lorsque vous avez activé la signature (le "certificat de signature").

Le conflit avec cette situation est que vous pouvez vous retrouver avec deux OAuth 2.0 ID client:

  • Celle que vous avez créée avant de publier votre application (et avant d'activer la signature Google), qui est en effet la "bonne".

  • UN NOUVEAU créé par Google lorsque vous avez activé la signature Google.

Vous pouvez vérifier ce fait à partir de: Console Google Play -> Services de jeux -> Sélectionnez votre application -> Projet de console API -> Informations d'identification -> OAuth 2.0 ID client

SOLUTION

Pour que la connexion à Google (et toutes les fonctionnalités des services de jeux associées) fonctionne, j'ai dû corriger l'empreinte digitale de mon ID client OAuth2 préexistant (celui que j'ai créé avant de publier mon application).

  1. Recherchez le "bon" OAuth 2.0: console Google Play -> Services de jeux -> Sélectionnez votre application -> Applications liées -> Sélectionnez votre application -> Prenez note du " ID client OAuth2 "en bas.

  2. Recherchez le certificat "Signature": Console Google Play -> Services de jeux -> Sélectionnez votre application -> Projet de console API -> Informations d'identification -> OAuth 2.0 ID client -> "Client Android pour XXXXXX (création automatique par Google Service) "-> Prendre note de la valeur (xx: xx: xx: etc ....) Commentaire: Afin de réutiliser cette valeur dans mon autre OAuth = ID client 2.0, j'ai dû le remplacer par un numéro fictif. Sinon, vous obtiendrez l'erreur: "Certificat déjà utilisé dans un autre projet".

  3. Accédez à votre ID client OAuth2 préexistant: console Google Play -> Services de jeux -> Sélectionnez votre application -> Projet de console API -> Informations d'identification -> OAuth 2.0 ID client -> Sélectionnez " ID client OAuth 2.0 "de l'étape 1. Mettez à jour la valeur du certificat avec celle de l'étape 2.

Cela a résolu mon problème. Le multijoueur fonctionne parfaitement dans mon application (Match4App).

1
Pablo Alfonso

Pour ajouter des réponses existantes, une fois que vous avez le SHA1 nouvellement créé:

Goto https://console.firebase.google.com :

  1. Sélectionnez un projet
  2. Aperçu du projet
  3. Paramètres du projet
  4. AJOUTER L'EMPREINTE DIGITALE - entrez SHA1 à l'empreinte du certificat
  5. Sauver
1
RonTLV