Zum Inhalt springen

Hilfe für den geschlossenen Test

Google Sign-In-Fehler 10 im geschlossenen Test beheben

Google Sign-In funktioniert, wenn Sie die App aus Android Studio starten, aber Tester, die Ihren geschlossenen Test (closed testing) über Google Play installieren, erhalten Fehler 10 oder sehen, wie sich das Anmeldefenster wieder schließt. Fehler 10 ist DEVELOPER_ERROR, den Google in einem Satz definiert: “Die Anwendung ist falsch konfiguriert.” Wenn nur die Play-Version scheitert, prüfen Sie zuerst eines: das Signaturzertifikat der App, die Ihre Tester tatsächlich installiert haben, und ob dessen SHA-1 mit dem richtigen Paketnamen in dem Projekt registriert ist, über das sich Ihre App anmeldet.

Fehler 10DEVELOPER_ERROR, App falsch konfiguriert
SHA-1Zertifikat des Play App-Signaturschlüssels
Web-ClientGehört in serverClientId
Keine feste WartezeitPlay-Installation erneut testen

Kurze Antwort

Google Sign-In-Fehler 10, DEVELOPER_ERROR, bedeutet, dass die Android-App falsch konfiguriert ist. Wenn die Anmeldung lokal funktioniert, aber in einem geschlossenen Test über Play scheitert, prüfen Sie, ob der Signatur-SHA-1 der über Play installierten App und ihr endgültiger Paketname im richtigen Firebase- oder Google Cloud-Projekt registriert sind und ob jede serverClientId oder webClientId die Client-ID der Webanwendung ist, nicht die des Android-Clients. Testen Sie dann erneut mit dem Build, der über Google Play installiert wurde.

Wählen Sie Ihr Setup

SHA-1 schon hinzugefügt? Lesen Sie, was Sie als Nächstes prüfen.

Dieser Leitfaden behandelt genau einen Fehler: die native Google-Anmeldung, die in der von Google Play ausgelieferten Version nicht funktioniert. Er grenzt ihn von ähnlich aussehenden Fehlern ab und behandelt dann Frameworks, andere Anmeldeanbieter und das, was Tester melden sollten. Jede hier zitierte Google-Seite wurde am 16. Oktober 2026 geprüft, und Berichte aus der Community sind als solche gekennzeichnet. Die Quellen stehen am Ende.

Google Sign-In im Play-Build beheben

Bringen Sie die App, die Ihre Tester installiert haben, mit dem dafür registrierten Paketnamen und Signatur-SHA-1 in Übereinstimmung. Gehen Sie diese Schritte der Reihe nach durch; die Wege über Firebase und Google Cloud folgen danach.

1

Bestätigen, welche Version scheitert

Prüfen Sie, ob der Tester die App aus Ihrem geschlossenen Test bei Google Play installiert hat, und notieren Sie seine Version. Notieren Sie dann die endgültige Anwendungs-ID dieses Builds. Laut Android-Build-Leitfaden wird Ihre Anwendungs-ID durch die Eigenschaft applicationId festgelegt, die sich von Ihrem Quellcode-Namespace unterscheiden oder in einer Build-Variante (Flavor) ein Suffix erhalten kann. Wenn der Tester die App gar nicht installieren kann, ist das ein anderes Problem: Lesen Sie, warum eine App für Tester nicht verfügbar ist.

2

Play App Signing öffnen

Öffnen Sie in der Play Console die App und gehen Sie zu Protected with Play. Google hat die App-Signatur im Mai 2026 dorthin verschoben, und Googles eigene Hilfe benennt den nächsten Schritt auf zwei Arten (Tabelle unten). Beide Wege führen zur selben Seite.

Wo Play App Signing in der Play Console liegt (von Google dokumentierte Bezeichnungen, geprüft am 16. Oktober 2026)
Weg, wie Google ihn schreibt Wo Google ihn verwendet Was Sie dort öffnen
Protected with Play > Play Store distribution > Go to Play app signing Wo Google ihn verwendetPlay Console-Hilfe, Play App Signing verwenden, Abschnitt zur API-Registrierung Was Sie dort öffnenApp signing key certificate, dann der SHA-1-Wert
Protected with Play > Play Store protection > Manage Play app signing Wo Google ihn verwendetGoogles Update-Hinweise für Google Play vom Mai 2026 und ein anderer Abschnitt derselben Hilfeseite Was Sie dort öffnenDieselbe Seite; Menübezeichnungen können je nach Konto abweichen
3

SHA-1 des App-Signaturschlüssels kopieren

Öffnen Sie den Abschnitt App signing key certificate (Zertifikat des App-Signaturschlüssels), nicht das Zertifikat des Uploadschlüssels, und kopieren Sie dessen SHA-1. Wenn Play mehr als einen Signaturschlüssel für Ihre App anzeigt, registrieren Sie jeden zutreffenden Fingerabdruck (siehe mehrere Signaturzertifikate). Behalten Sie Ihre bestehenden Debug- und lokalen Fingerabdrücke und fügen Sie die von Play daneben hinzu. Rotieren Sie Ihren Signaturschlüssel nicht, um die Anmeldung zu reparieren.

4

Dort registrieren, wo sich Ihre App anmeldet

Nutzen Sie den Weg über Firebase oder den Weg über Google Cloud, je nachdem, was Ihre App verwendet, und zwar in demselben Projekt, das die Client-IDs in Ihrer App ausgestellt hat.

5

Den installierten Play-Build erneut testen

Wenn Sie nur eine Registrierung in Firebase oder Google Cloud geändert haben, versuchen Sie es mit der bereits über Play installierten Version erneut, bevor Sie etwas neu bauen; Entwickler berichten, dass eine reine Registrierungskorrektur ohne neuen Upload funktioniert hat. Wenn Sie eine mitgelieferte Konfiguration, eine Client-ID, Code oder eine Abhängigkeit geändert haben, laden Sie einen neuen Build in denselben geschlossenen Track hoch und testen Sie diesen. Google nennt keine feste Zeit, bis ein neuer Fingerabdruck wirksam wird. Testen Sie also erneut, statt eine bestimmte Anzahl von Stunden zu warten.

Play-Zertifikat in Firebase hinzufügen

Wählen Sie die passende Android-App aus, bevor Sie ihren Play-Signaturfingerabdruck hinzufügen. Die Schritte folgen der Firebase-Hilfe zu Fingerabdrücken und dem Firebase-Leitfaden zur Google-Anmeldung.

  1. Öffnen Sie in der Firebase-Konsole das Projekt, das Ihre App verwendet, dann Project settings > General (Projekteinstellungen > Allgemein).
  2. Wählen Sie unter Your apps (Meine Apps) die Android-App aus, deren Paketname zum fehlerhaften Build passt.
  3. Klicken Sie auf Add fingerprint (Fingerabdruck hinzufügen), fügen Sie den SHA-1 der Play App Signing ein und speichern Sie. Fügen Sie ihn neben den vorhandenen Fingerabdrücken hinzu, statt diese zu ersetzen.
  4. Bestätigen Sie unter Authentication > Sign-in method, dass Google aktiviert ist.
  5. Wenn Firebase Sie auffordert, eine aktualisierte google-services.json herunterzuladen, ersetzen Sie die Datei in Ihrem Projekt. Laut Firebase “enthält [die Datei] die OAuth-Client-Informationen, die für die Google-Anmeldung erforderlich sind”, eine geänderte Datei bedeutet also einen neuen Build. Prüfen Sie, ob Projekt und Paket darin zur fehlerhaften App passen.

Fügen Sie einen SHA-256 nur dort hinzu, wo ein bestimmter Firebase-Dienst danach fragt. Die Telefonauthentifizierung zum Beispiel nutzt SHA-256 für ihren Play Integrity-Weg; Google Sign-In selbst stützt sich auf den SHA-1.

Google Cloud ohne Firebase konfigurieren

Zwei OAuth-Clients erledigen zwei verschiedene Aufgaben. Der Android-Client registriert Ihre App; die Web-Client-ID ist die, die Ihre Token-Anfrage verwendet.

Android-Client und Web-Client im Vergleich
Client-Typ Was er enthält Wo Sie ihn verwenden
Android Was er enthältIhren Paketnamen und den SHA-1 des Signaturzertifikats Wo Sie ihn verwendenRegistriert die Identität der nativen App. Diese Client-ID fügen Sie nicht in serverClientId ein.
Webanwendung Was er enthältDie Web-Client-ID Wo Sie ihn verwendenDie serverClientId oder webClientId in Ihrer Token-Anfrage und die Audience, die Ihr Backend akzeptiert. Googles Codelab zu Sign in with Google beschreibt sie so, dass sie “als Backend-Client für den Google Sign-In-Dienst” fungiert.
  1. Wählen Sie das Projekt aus, das Ihre Client-IDs ausgestellt hat, und öffnen Sie dann Google Auth platform > Clients (Google Cloud-Hilfe).
  2. Suchen Sie nach einem vorhandenen Android-Client mit diesem Paketnamen und SHA-1, bevor Sie einen weiteren anlegen.
  3. Falls er fehlt, wählen Sie Create Client, setzen Application type auf Android, geben einen Namen, den Paketnamen und den SHA-1 der Play App Signing ein und klicken dann auf Create. Das Android-Formular hat ein SHA-1-Feld; ein SHA-256 gehört dort nicht hinein.
  4. Registrieren Sie jedes Paar aus Paket und Zertifikat, das Sie brauchen, zum Beispiel für Debug, lokalen Release und Play.
  5. Lassen Sie den Web-Client für die Token-Anfrage bestehen, und legen Sie niemals einen Client-Secret in die App.

Die Reparatur nachweisen

Eine erfolgreiche Anmeldung beweist nicht, dass der Release repariert ist. Diese Checkliste ist unser empfohlener Abnahmetest, keine Google-Regel; die letzte Zeile ist wichtig, weil bei einem Entwickler die Anmeldung einmal funktionierte und bei der nächsten Anmeldung trotzdem scheiterte, ein Sitzungsproblem, das eine einzelne Prüfung übersehen würde.

Abnahme-Checkliste für den über Play installierten Build
Prüfung Nachweis für Bestehen Falls sie scheitert
Richtige App und Version Nachweis für BestehenDer Tester bestätigt die vorgesehene Play-Installation und den vorgesehenen Build Falls sie scheitertZuerst das Release- oder Track-Auslieferungsproblem lösen
Erste Anmeldung Nachweis für BestehenNach der Kontoauswahl kehrt man in eine angemeldete App zurück Falls sie scheitertDie genaue Exception erfassen und die Fehlertabelle unten nutzen
Geschützte Funktion Nachweis für BestehenDer Tester kann eine Funktion nutzen, die eine Anmeldung erfordert Falls sie scheitertDie Token-Verarbeitung in App und Backend untersuchen
Abmelden und erneut anmelden Nachweis für BestehenEine zweite Anmeldung funktioniert ohne Neuinstallation Falls sie scheitertSitzungsverwaltung und Abmeldung beim Anbieter untersuchen
Zuvor betroffenes Gerät Nachweis für BestehenDerselbe Tester mit demselben Gerät hat jetzt Erfolg Falls sie scheitertZertifikat, Betriebssystem, Konto und den tatsächlichen Build vergleichen
Kontinuität des Tests Nachweis für BestehenDer Tester ist weiterhin angemeldet, und Sie haben die Korrektur dokumentiert Falls sie scheitertDie Testteilnahme getrennt von der Anmeldung in der App reparieren

Warum funktioniert die Anmeldung im Debug-Build, aber nicht im geschlossenen Test?

Die über Google Play installierte App kann eine andere Signatur haben als das APK, das Sie lokal installieren. Googles Leitfaden zur Client-Authentifizierung hält fest: “Android Studio signiert Ihre App automatisch mit einem Debug-Zertifikat.” Ein Release, den Sie selbst bauen, verwendet den Schlüssel, mit dem diese Variante konfiguriert ist. Mit Play App Signing signiert Ihr Uploadschlüssel das Bundle, das Sie hochladen, und Google signiert die APKs, die Ihre Tester erhalten, mit dem App-Signaturschlüssel.

Diese Schlüssel haben unterschiedliche Rollen, sind aber nicht immer unterschiedliche Werte: Sie können Ihren eigenen Signaturschlüssel bereitstellen, und manche Setups verwenden einen Schlüssel für zwei Rollen. Vergleichen Sie die tatsächlichen Fingerabdrücke statt der Schlüsselbezeichnungen.

Den Build seiner Signaturidentität zuordnen
Installierte Version Zu prüfendes Zertifikat Erster Schritt
Installation über Play aus internem, geschlossenem oder offenem Test oder aus der Produktion, mit Play App Signing Zu prüfendes ZertifikatDas oder die Play App Signing-Zertifikate unter Protected with Play Erster SchrittJeden zutreffenden Play-SHA-1 registrieren
Debug-Ausführung aus Android Studio Zu prüfendes ZertifikatDas Debug-Zertifikat dieses Rechners Erster SchrittDiesen SHA-1 für die passende Anwendungs-ID registrieren
Release-APK, auf Ihrem Rechner gebaut Zu prüfendes ZertifikatDas für diese Release-Variante konfigurierte Zertifikat Erster SchrittNicht annehmen, dass “Release” Googles Signatur bedeutet
Link aus der internen App-Freigabe Zu prüfendes ZertifikatDas eigene Testzertifikat der internen App-Freigabe Erster SchrittSeparat registrieren, wenn Tester diesen Weg nutzen

Interne App-Freigabe ist nicht der interne Test

Googles Hilfe zur internen App-Freigabe sagt: “Jedes APK wird mit diesem Testzertifikat neu signiert.” Sie finden es unter Test and release > Internal testing > Internal app sharing > Uploaders and testers > Internal test certificate. Die Tracks für den internen und den geschlossenen Test verwenden stattdessen Ihren Play App-Signaturschlüssel.

Die Fingerabdrücke selbst auslesen

Für Builds auf Ihrem Rechner gibt der Gradle-Signaturbericht den SHA-1 und SHA-256 jeder Variante aus, und keytool liest den Debug-Keystore direkt aus (geben Sie das Keystore-Passwort ein, wenn Sie danach gefragt werden):

Terminal
./gradlew signingReport

keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

Ein lokaler Signaturbericht sagt Ihnen nicht, womit die Play-Version signiert wurde. Um den fehlerhaften Build selbst zu prüfen, installieren Sie ihn aus dem geschlossenen Test auf einem Gerät, ziehen ihn mit adb herunter und geben seine Zertifikate mit apksigner aus, das laut Google-Dokumentation “Informationen über die Signaturzertifikate des APK” anzeigt. Ersetzen Sie den Paketnamen und verwenden Sie den Pfad, den der erste Befehl ausgibt:

Terminal
adb shell pm path com.example.app
adb pull /data/app/.../base.apk failing-play.apk
apksigner verify --print-certs failing-play.apk

Ich habe den SHA-1 hinzugefügt und es scheitert weiterhin

Vergleichen Sie das Zertifikat des fehlerhaften APK, seine endgültige Anwendungs-ID und die Client-IDs, bevor Sie weitere Einstellungen ändern. Arbeiten Sie diese Leiter von oben nach unten ab; jede Zeile schließt eine Ebene aus.

Diagnoseleiter, in dieser Reihenfolge
Prüfung Was Sie vergleichen Entscheidung
1. Installierte Version und Track Was Sie vergleichenDie tatsächliche Play-Installation des Testers im Vergleich zur Version, die Sie testen wollten EntscheidungEin lokaler Signaturbericht ist kein Nachweis für die Play-Signatur
2. Zertifikat Was Sie vergleichenDie Ausgabe von apksigner verify --print-certs für das fehlerhafte Play-APK im Vergleich zu dem, was Sie registriert haben EntscheidungJede benötigte Signatur registrieren; ältere Einträge behalten, die noch installierte Nutzer bedienen
3. Endgültige Anwendungs-ID Was Sie vergleichenDie applicationId der gebauten Variante, einschließlich Flavor-Suffixen, im Vergleich zum registrierten Paket EntscheidungDer Namespace im Quellcode zählt nicht
4. Projekt und Web-Client Was Sie vergleichenDas Projekt und die Web-Client-ID, die Ihr Release-Build und Ihr Backend tatsächlich verwenden EntscheidungEin Tippfehler hier macht die Anmeldung auch bei korrekten Fingerabdrücken kaputt
5. Anbieter und Clients vorhanden Was Sie vergleichenGoogle als Anbieter aktiviert, dazu die Android- und Web-Clients dahinter EntscheidungWenn ein anderes Projekt das Paar beansprucht, siehe den Hinweis zu Konflikten unten
6. Fehlerfamilie Was Sie vergleichenNativer Code 10, ein Abbruch im Credential Manager, ein vom Backend abgelehntes Token oder eine abweichende Browser-Weiterleitung EntscheidungJeder Fall ist ein eigener Zweig; siehe die Fehlertabelle
7. Release-Problem im Framework Was Sie vergleichenRessourcenverkleinerung (Resource Shrinking), die aufgelöste Bibliotheksversion und die Initialisierung EntscheidungChangelogs und bestätigte Korrekturen nutzen, keine zufälligen Upgrades oder Downgrades

Zeile 4 ist nicht theoretisch. In einem im September 2026 berichteten Expo-Fall änderte das Hinzufügen von Fingerabdrücken nichts; die Lösung war ein Tippfehler in der Client-ID, die das Backend akzeptierte.

Mehrere Signaturzertifikate oder aktualisierte Schlüssel

Eine einzelne App kann mehr als eine registrierte Signaturidentität benötigen. Googles aktuelle Hilfe zu Play App Signing beschreibt eine hybride Signatur mit drei App-Signaturschlüsseln und fordert Sie auf, die Fingerabdrücke jedes einzelnen zu registrieren, und eine App, deren Signaturschlüssel aktualisiert wurde, kann weiterhin Installationen haben, die mit einem älteren signiert sind. Registrieren Sie die Identitäten, die Ihre Installationen tatsächlich tragen, und löschen Sie keine älteren Einträge, die noch funktionieren. Schlüsselrotation ist nicht Thema dieses Leitfadens, und sie ist keine Lösung für die Anmeldung.

Ein anderes Projekt besitzt dieses Paket und diesen SHA-1 bereits

Laut Firebase-Hilfe zu Konflikten “muss [ein Paar aus Paketname und SHA-1] in allen Firebase- und Google Cloud-Projekten eindeutig sein.” Wenn die Konsole Ihren Fingerabdruck ablehnt, weil ein anderes Projekt ihn hält, finden Sie heraus, welchem Projekt dieser OAuth-Client gehört, bevor Sie etwas löschen. Der Google-Support kann helfen, den Konflikt zu finden; entfernen Sie keine aktiven Clients oder Projekte, um sich durchzuraten.

Ist Fehler 10 dasselbe wie 12500, 12501 oder canceled?

Nein. Lesen Sie den genauen Fehler und die Bibliothek, die ihn erzeugt hat, bevor Sie jede gescheiterte Anmeldung als dasselbe Problem behandeln. Googles Referenz der allgemeinen Statuscodes definiert DEVELOPER_ERROR = 10 als “Die Anwendung ist falsch konfiguriert.” Die anderen Codes unten stammen aus Googles historischem SDK play-services-auth 21.6.0.

Die Fehlerfamilie bestimmen
Was Sie sehen Was es bedeutet Nächster Schritt
ApiException: 10 oder DEVELOPER_ERROR Was es bedeutetKonfigurationsfehler der App Nächster SchrittSignatur, Paket, Projekt und Client-IDs vergleichen
12500 Was es bedeutetSIGN_IN_FAILED: “A non-recoverable sign in failure occurred” (ein nicht behebbarer Anmeldefehler ist aufgetreten) Nächster SchrittDie umgebenden Logs lesen; nicht als Fehler 10 behandeln
12501 Was es bedeutetSIGN_IN_CANCELLED: “Sign in action cancelled” (Anmeldevorgang abgebrochen) Nächster SchrittHerausfinden, ob der Nutzer abgebrochen hat und welche API den Code erzeugt hat
Credential Manager oder Flutter canceled Was es bedeutetEin echter Abbruch oder ein Konfigurationsproblem Nächster SchrittDetails der Exception und das Setup prüfen; den Nutzer nach der Diagnose einen neuen Versuch starten lassen
NoCredentialException Was es bedeutetEs wurden keine Anmeldedaten zurückgegeben; keine Zertifikatsdiagnose Nächster SchrittNeben der Registrierung auch die Verfügbarkeit von Konten und die Konfiguration der Anfrage prüfen
Google-Token funktioniert, Backend lehnt es ab Was es bedeutetEine spätere Phase als der Abruf der Google-Anmeldedaten Nächster SchrittDie Audience und die Client-IDs prüfen, die Ihr Backend akzeptiert
redirect_uri_mismatch Was es bedeutetEine OAuth-Weiterleitung im Browser passt zu keinem autorisierten URI Nächster SchrittDie Callback-Konfiguration für diesen Ablauf korrigieren
“Element nicht gefunden” beim Play-Link Was es bedeutetEin Installations- oder Berechtigungsproblem, keine Anmeldung Nächster SchrittDie Prüfungen für nicht verfügbare Apps durchgehen

Altes Google Sign-In und Credential Manager

Googles Versionshinweise zu den Play-Diensten führen die Einstellung (Deprecation) der Google Sign-In-APIs in play-services-base am 16. April 2024 auf, und Google kündigte den Wechsel zu Credential Manager am 11. September 2024 an. Danach wurden die APIs am 26. August 2026 aus play-services-auth 22.0.0 und am 17. September 2026 aus play-services-base 18.11.0 entfernt, mit dem Hinweis “Removed the APIs related to Google Sign-in.” (die APIs für Google Sign-In wurden entfernt). Das ist eine Änderung am SDK; ein Abschaltdatum für bereits installierte Apps ergibt sich daraus nicht. Neuer Code und Upgrades sollten Googles Migrationsleitfaden folgen.

Die beiden APIs scheitern unterschiedlich. Credential Manager hat keinen Fehler 10; sein Leitfaden zur Fehlerbehebung warnt: “Eine hohe Anzahl von "Abbrüchen" kann tatsächlich auf eine Fehlkonfiguration hindeuten.” Ein Abbruch kann also ein Konfigurationsfehler oder ein echter Abbruch sein, und NoCredentialException ist wieder ein anderes Signal.

Prüfungen für Flutter, React Native, Expo und Unity

Die oben beschriebenen Prüfungen der nativen Identität gelten für jedes Framework, aber Setup, Initialisierung und Build-Konfiguration unterscheiden sich. Nutzen Sie den Weg für Ihr Framework und die Bibliotheksversion, die Ihre App tatsächlich auflöst.

Prüfungen nach Framework
Framework Spezifische Prüfungen Nicht annehmen
Flutter Spezifische PrüfungenDie Android-Implementierung, google_sign_in_android, ist in Version 7.0.0 auf Credential Manager umgestiegen. Übergeben Sie die Web-Client-ID als serverClientId. Laut Changelog zu 7.2.16 “verhindert [die Version], dass die Ressource default_web_client_id von Resource Shrinkern entfernt wird”, was bei Fehlern wichtig ist, die nur im Release auftreten. Nicht annehmenDass jedes canceled-Ergebnis ein SHA-Problem ist oder dass ein Downgrade eine universelle Lösung ist.
React Native Spezifische PrüfungenStellen Sie fest, welche API der Bibliothek Sie nutzen, übergeben Sie die Web-Client-ID als webClientId, und prüfen Sie die tatsächliche applicationId und das fehlerhafte APK. Der Leitfaden zur Fehlerbehebung führt “Login does not work when downloading from the Play Store” (Anmeldung funktioniert nach dem Download aus dem Play Store nicht) auf und bietet einen Befehl zur Konfigurationsprüfung (unten). Nicht annehmenDass ein geschlossenes Issue im Tracker eine Reparatur beweist.
Expo Spezifische PrüfungenDie native Google-Anmeldung braucht einen Development- oder Custom-Build; der Expo-Leitfaden sagt: “Diese Bibliotheken können nicht in Expo Go verwendet werden, weil sie eigenen nativen Code erfordern.” Halten Sie das EAS- oder lokale Signaturzertifikat getrennt vom Play App Signing-Zertifikat. Nicht annehmenDass Expo Go den Release-Ablauf nachbildet oder dass ein Neubau eine falsche Backend-Client-ID behebt.
Unity Spezifische PrüfungenEntscheiden Sie, ob Sie Firebase Authentication oder Unity Authentication verwenden, holen Sie das Google-ID-Token über die unterstützte Plattformintegration und tauschen Sie es dann bei diesem Backend ein (Unity-Leitfaden von Firebase). Googles altes Unity-Beispiel für die Anmeldung wurde am 19. April 2026 archiviert. Nicht annehmenDass die Anmeldung bei Play Games und die Anmeldung mit einem Google-Konto dieselbe Integration sind.

Für React Native stellen die Maintainer der Bibliothek eine Konfigurationsprüfung bereit, die Sie im Stammverzeichnis des Projekts ausführen können:

Terminal
npx @react-native-google-signin/config-doctor

Was ändert sich bei Supabase, Facebook, Apple oder Auth0?

Der Anbieter und der Anmeldeablauf bestimmen, welches Zertifikat, welche Client-ID oder welcher Callback übereinstimmen muss. Ein Google-SHA-1 ist die Antwort für die native Google-Anmeldung; bei anderen Anbietern kann er der falsche Hash sein, das falsche Format haben oder keine Rolle spielen.

Unterschiede nach Anbieter und Ablauf
Anbieter oder Ablauf Was übereinstimmen muss Wo Sie es festlegen
Natives Google mit Firebase Was übereinstimmen mussInstalliertes Paket und SHA-1, der Web-Client, Google als Anbieter aktiviert Wo Sie es festlegenFingerabdrücke in den Firebase-Projekteinstellungen, dazu Authentication
Natives Google mit Supabase Was übereinstimmen mussDie native Android-Identität und die Web-Client-ID; der Supabase-Leitfaden sagt: “Die Web-Client-ID ist die, die in Ihrer Android-App verwendet wird.” Wo Sie es festlegenGoogle-Clients für Android und Web, dann die Einstellungen des Google-Anbieters in Supabase
Supabase-OAuth im Browser Was übereinstimmen mussDer Web-Client, der Supabase-Callback und der Rücksprunglink Ihrer App Wo Sie es festlegenAutorisierte Weiterleitungs-URIs bei Google und die Weiterleitungseinstellungen in Supabase; eine SHA-Korrektur greift hier nicht
Facebook unter Android Was übereinstimmen mussEin Base64-Key-Hash aus den Bytes des SHA-1 des Signaturzertifikats, nicht das durch Doppelpunkte getrennte Hex-Format Wo Sie es festlegenFacebook-App-Einstellungen, Android-Key-Hashes (Weg wie im Facebook-Leitfaden von Expo dokumentiert)
Apple-Webanmeldung unter Android Was übereinstimmen mussDie Services ID, die Domain und die Rücksprung-URL Wo Sie es festlegenApples Webkonfiguration für Sign in with Apple; nicht Googles DEVELOPER_ERROR-Mechanismus
Apple über Firebase unter Android Was übereinstimmen mussDas Apple-Setup plus der SHA-1 der App Wo Sie es festlegenApple-Leitfaden von Firebase: “Geben Sie den SHA-1-Fingerabdruck Ihrer App an, falls noch nicht geschehen.”
Auth0 unter Android Was übereinstimmen mussErlaubte Callback-URLs und das App-Schema; die App-Link-Identität, wo sie verwendet wird Wo Sie es festlegenAuth0-Anwendungseinstellungen; die Readme des Android-SDK verwendet SHA-256-Key-Hashes für die App-Link-Einrichtung
Firebase-Telefonauthentifizierung Was übereinstimmen mussSHA-256 für Play Integrity, SHA-1 für den reCAPTCHA-Fallback Wo Sie es festlegenFirebase-Telefonauthentifizierung: ein von der Google-Anmeldung getrennter Ablauf

Verlagern Sie die Anmeldung nicht in eine WebView

Die Google-Anmeldung über eine eingebettete WebView zu leiten, ist kein Workaround. Googles OAuth 2.0-Richtlinien besagen, dass Entwickler “eine Google OAuth 2.0-Autorisierungsanfrage nicht an einen eingebetteten User-Agent richten dürfen.”

Was sollten Tester an den Entwickler senden?

Ein nützlicher Bericht benennt den fehlerhaften Play-Build und die genaue Stelle, an der die Anmeldung abbricht. Ein Tester kann eine OAuth-Registrierung nicht durch erneutes Versuchen reparieren, seine Aufgabe sind also Belege, nicht Ausdauer. Kopieren Sie diese Vorlage und senden Sie sie an Ihre Tester:

Berichtsvorlage
App und Play-Testlink:
Installierte App-Version oder Build:
Installiert über: geschlossener Test bei Play / anderer Weg
Gerät und Android-Version:
Datum, Uhrzeit und Zeitzone:
Genauer Fehlertext oder ein geschwärzter Screenshot:
Wo es abbrach: vor der Kontoauswahl / nach der Wahl eines Kontos / nach der Rückkehr zur App
Ließ sich die App mit einer anderen Anmeldemethode öffnen?
Ergebnis des erneuten Tests und Version:

Bitten Sie die Tester, während der Korrektur für den Test angemeldet zu bleiben. Fragen Sie niemals nach Passwörtern, OAuth-Tokens, privaten Schlüsseln oder Zugriff auf die Play Console. Bitten Sie nach Ihrer Änderung denselben Tester, eine Funktion zu öffnen, die eine Anmeldung erfordert, sich dann ab- und wieder anzumelden und die Version und das Ergebnis festzuhalten.

Beeinflusst Fehler 10 meinen geschlossenen Test oder den Produktionszugriff?

Ein Konfigurationsfehler bei der Anmeldung ist etwas anderes als die Testteilnahme. Fehler 10 ist kein Ablehnungscode der Play-Richtlinien, und keine Google-Regel, die wir gefunden haben, besagt, dass er den Anmeldezeitraum Ihrer Tester zurücksetzt. Googles Seite zu den Testanforderungen ermutigt Sie, die App während des geschlossenen Tests zu verbessern. Halten Sie Ihre Tester also angemeldet und liefern Sie die Korrektur über denselben geschlossenen Track aus. Das ist eine Auslegung der veröffentlichten Regeln, kein Versprechen für jeden Einzelfall.

Eine kaputte Anmeldung ist trotzdem wichtig. Die Richtlinie zur Funktionalität von Google Play besagt: “Apps, die abstürzen, das Schließen erzwingen, einfrieren oder anderweitig nicht ordnungsgemäß funktionieren, sind nicht zulässig”, und eine Anmeldesperre hindert Tester daran, die Funktionen zu erreichen, die sie testen sollen. Beheben Sie den Fehler, bevor Sie den Produktionszugriff beantragen, und geben Sie den Prüfern funktionierende Anmeldedaten. Wenn bereits ein Prüfergebnis vorliegt, lesen Sie zur Ablehnung wegen fehlerhafter Funktionalität (Broken Functionality).

Zur Einordnung: Private Entwicklerkonten, die nach dem 13. November 2023 erstellt wurden, brauchen mindestens 12 Tester, die über die letzten 14 Tage fortlaufend angemeldet waren, bevor sie für diese App den Produktionszugriff beantragen. Nach dem Antrag sagt Google: “Dies dauert in der Regel bis zu sieben Tage, manchmal aber auch länger.” Wenn Tester in der Zählung fehlen, prüfen Sie, wie sie eingeladen wurden, bevor Sie die Anmeldung anfassen.

Brauchen Sie echte Tester für die 14 Tage?

Tester können keine OAuth-Registrierung reparieren, bringen Sie also zuerst die Anmeldung zum Laufen. Sobald sie funktioniert, stellt PrimeTestLab 12+ echte Tester, die Ihren Play-Build auf echten Android-Smartphones installieren und die vollen 14 Tage angemeldet bleiben, ab $19.99 (plus 5% Servicegebühr). Wenn Google nach dem vollständigen Test keinen Produktionszugriff gewährt, wählen Sie zwischen einem kostenlosen neuen Test oder einer vollständigen Rückerstattung. So funktioniert der geschlossene Test mit 12 Testern.

Häufig gestellte Fragen

Warum funktioniert Google Sign-In im Debug-Build, aber nicht im geschlossenen Test?

Ihr Debug-APK und die aus Google Play heruntergeladene App können mit unterschiedlichen Zertifikaten signiert sein, daher konfiguriert die Registrierung des Debug-Fingerabdrucks den Play-Build nicht. Beginnen Sie mit dem SHA-1 der Play App Signing und prüfen Sie dann den endgültigen Paketnamen des Release-Builds und die Client-IDs, die die App tatsächlich verwendet.

Wo finde ich den SHA-1 der Play App Signing jetzt?

Öffnen Sie in der Play Console die Seite Protected with Play Ihrer App. Googles Hilfe beschreibt Play Store distribution und dann Go to Play app signing; andere aktuelle Google-Texte nennen diese Punkte Play Store protection und Manage Play app signing. Öffnen Sie den Abschnitt App signing key certificate, kopieren Sie den SHA-1 und prüfen Sie auch alle weiteren Schlüssel, die für Ihre App angezeigt werden.

Brauche ich SHA-1 oder SHA-256 für Google Sign-In?

Googles Android-OAuth-Client identifiziert Ihre App über ihren Paketnamen und den SHA-1-Fingerabdruck des Signaturzertifikats, und SHA-256 ersetzt dieses Feld nicht. Andere Dienste haben eigene Anforderungen: Die Firebase-Telefonauthentifizierung nutzt SHA-256 für Play Integrity und SHA-1 für ihren reCAPTCHA-Fallback. Konfigurieren Sie jeden Dienst für den Ablauf, den Ihre App verwendet.

Ich habe den SHA-1 bereits hinzugefügt. Was sollte ich als Nächstes prüfen?

Bestätigen Sie, dass er zu der über Play installierten App gehört und nicht zu Ihrem Upload- oder Debug-Schlüssel. Vergleichen Sie dann die endgültige Anwendungs-ID, das Firebase- oder Cloud-Projekt und die Web-Client-ID. Wenn Ihre App mehrere Signaturzertifikate hat, prüfen Sie auch diese. Ein Tippfehler in der Client-ID, die das Backend akzeptiert, kann die Anmeldung kaputt machen, selbst wenn die Fingerabdrücke stimmen.

Muss ich nach dem Hinzufügen eines Fingerabdrucks ein weiteres AAB hochladen?

Nicht unbedingt. Entwickler berichten, dass eine reine Registrierungskorrektur in Firebase oder Google Cloud mit der bereits installierten App funktioniert hat. Eine geänderte Client-ID, Konfigurationsdatei, Code oder Abhängigkeit muss die Tester in einem neuen Build erreichen. Prüfen Sie, was Sie geändert haben, und verifizieren Sie dann die tatsächliche Play-Installation, statt ohne Diagnose immer wieder neu zu bauen.

Wie lange dauert es, bis ein neuer Fingerabdruck wirkt?

Google veröffentlicht keine Verbreitungszeit speziell für Fingerabdrücke, und die von uns gesichteten Entwickler-Threads haben keine gemessen. Speichern Sie die richtige Konfiguration und versuchen Sie es erneut. Wenn es weiterhin scheitert, prüfen Sie das installierte Zertifikat und die Client-Einstellungen, statt eine feste Anzahl von Stunden zu warten, denn Warten behebt keine Abweichung.

Warum steht dort canceled, obwohl ich nicht abgebrochen habe?

Einige Credential Manager- und Framework-Integrationen melden ein Konfigurations- oder Autorisierungsproblem als Abbruch, auch wenn ein Abbruch ebenso echt sein kann. Halten Sie Typ und Meldung der Exception fest, prüfen Sie den Leitfaden zur Fehlerbehebung Ihres Frameworks und trennen Sie die aktuelle API vom alten Status 12501 SIGN_IN_CANCELLED, bevor Sie Einstellungen ändern.

Ist die Android-Client-ID die, die ich in serverClientId eintrage?

Nein. In den dokumentierten nativen Google-Integrationen ist serverClientId oder webClientId der OAuth-Client der Webanwendung, der für die Token-Anfrage verwendet wird. Der Android-Client registriert stattdessen Ihr Paket und Ihr Signaturzertifikat. Konfigurieren Sie beide und bestätigen Sie, dass Ihr Backend die vorgesehene Token-Audience akzeptiert, statt Client-IDs aufs Geratewohl zu vertauschen.

Startet Fehler 10 meinen 14-tägigen geschlossenen Test neu?

Keine Google-Regel, die wir gefunden haben, besagt, dass dieser Fehler den Anmeldezeitraum zurücksetzt, und Google ermutigt zu Verbesserungen während des geschlossenen Tests. Halten Sie die Tester also angemeldet und reparieren Sie den bestehenden Track. Das heißt nicht, dass die App bereit ist: Eine Anmeldesperre kann sinnvolles Testen verhindern und ein Funktionalitätsproblem hinterlassen, das Sie vor dem Antrag beheben müssen.

Was sollte ich mir von einem Tester schicken lassen?

Fragen Sie nach der installierten Version, dem Play-Testlink, dem Gerät und der Android-Version, dem genauen Fehler und dem Schritt, an dem die Anmeldung abbricht. Ein geschwärzter Screenshot oder eine kurze Aufnahme hilft. Bitten Sie nach Ihrer Korrektur denselben Tester, eine Funktion zu nutzen, die eine Anmeldung erfordert, und sich dann ab- und wieder anzumelden, ohne Zugangsdaten weiterzugeben.

Das Fazit

Fazit

Google Sign-In-Fehler 10 bedeutet, dass die App falsch konfiguriert ist, und wenn nur die Play-Version scheitert, ist das Signaturzertifikat das Erste, was Sie prüfen sollten. Kopieren Sie den SHA-1 des App-Signaturschlüssels unter Protected with Play, registrieren Sie ihn mit dem endgültigen Paketnamen des Builds in demselben Firebase- oder Google Cloud-Projekt, das Ihre App verwendet, behalten Sie die Web-Client-ID in serverClientId und testen Sie den Build, den Ihre Tester installiert haben, erneut, einschließlich einer zweiten Anmeldung. Wenn es weiterhin scheitert, vergleichen Sie das Zertifikat des installierten APK, die Anwendungs-ID und die Client-IDs, bevor Sie irgendetwas anderes ändern.

Menübezeichnungen in der Play Console und in Firebase sind die Fakten auf dieser Seite, die sich am schnellsten ändern. Wenn ein oben genannter Weg nicht mehr zu Ihrer Konsole passt, suchen Sie Play App Signing unter Protected with Play und die Fingerabdrücke unter Ihrer Android-App in den Firebase-Projekteinstellungen.

Kefayatullah Khadem - Software Engineer & Google Play Publishing Specialist

Verfasst von

Kefayatullah Khadem

Software Engineer & Google Play Publishing Specialist

Kefayatullah Khadem ist Softwareentwickler mit über 8 Jahren Erfahrung im Entwickeln skalierbarer Anwendungen. Bei PrimeTestLab hilft er unabhängigen Entwicklern dabei, die Anforderung an den geschlossenen Test bei Google Play zu erfüllen, nachdem er gesehen hat, wie schwer sich viele von ihnen damit tun. Bislang hat er 12.100+ Android-Apps dabei geholfen, betreute geschlossene Tests in 120+ Ländern abzuschließen, bei einer betreuten Testabschlussquote von 99,9 %. Wenn er gerade keinem Entwickler beim Veröffentlichen hilft, schreibt er über die Richtlinien von Google Play, Muster bei App-Ablehnungen und den Ablauf des geschlossenen Tests.

12.100+ Getestete Apps
99,9 % Test-Abschlussquote
120+ Länder
4,9/5 Bewertung

Geschlossener Test bei Google Play

Die Anmeldung funktioniert. Jetzt den 14-Tage-Test starten.

12+ echte Tester installieren Ihren von Play signierten Build auf echten Android-Smartphones und bleiben die vollen 14 Tage angemeldet.

Ab $19.99 · +5% Servicegebühr

Testbeginn in 4-6 Stunden · 120+ Länder · Kostenloser neuer Test oder vollständige Rückerstattung

12 Tester ab $19.99 erhalten WhatsApp