Ich versuche Google Place Autocomplete Example von https://github.com/googlesamples/Android-play-places .
Ich habe den richtigen API-Schlüssel an der richtigen Stelle platziert. Ich wusste es, weil ich einen anderen Fehler erhalte, wenn ich einen ungültigen API-Schlüssel für eine zufällige Zeichenfolge eingebe.
Nachdem ich den richtigen API-Schlüssel eingegeben habe, starte ich die App sowohl im realen Gerät als auch im Simulator. Beide Geräte gaben mir diesen Fehler:
Status {statusCode = PLACES_API_INVALID_APP, resolution = null}
Was verursacht diesen Fehler und wie kann ich ihn beheben?
Dies liegt daran, dass sich das Paket, das Sie in den Abschnitt mit den Anmeldeinformationen in der Entwicklerkonsole einfügen, von dem Projekt unterscheidet, das Sie erstellen.
Ich habe die 'PLACES_API_INVALID_APP' erhalten, obwohl ich meine Version SHA1 veröffentlicht habe. Nachdem ich alles ausprobiert hatte, stellte ich fest, dass meine Release-App nicht einmal mit dem SHA1 signiert war, den ich aus dem Keystore erhielt. Also habe ich das gemacht:
1.Gehen Sie zu Google Play Console
2.Release Management> App Signing> App-Signaturzertifikat
3. Kopieren Sie das SHA1 des App-Signaturzertifikats und fügen Sie Folgendes ein: Anmeldeinformationsseite der Google API-Konsole
Jetzt können Sie loslegen! Leider ist es derzeit nirgends dokumentiert.
1> Erstellen eines neuen Projekts auf Google Developer Console
2> API Manager> Anmeldeinformationen> Neue Anmeldeinformationen> API-Schlüssel> Android-Schlüssel> Schaltfläche "Erstellen" und "Generieren" drückenAPI-SCHLÜSSEL
Hier funktioniert das Erstellen eines Schlüssels ohne Anwendung des Anwendungspakets & SHA in jeder Anwendung
MUSS SICH ERINNERN:
Aktivieren SieGoogle Places-API für Android
In meinem Fall war SHA-1 certificate fingerprint
nur für debug
build, ich habe auch release
SHA-1 key hinzugefügt. Jetzt geht es.
Stellen Sie sicher, dass Sie den genauen packageName und den gültigen SHA-1-Schlüssel für das Debuggen sowie für die Freigabe der App verwenden
Status {statusCode = PLACES_API_INVALID_APP, Auflösung = null}
dies bedeutet, dass Ihr API-Schlüssel ungültig ist. Erstellen Sie daher einen API-Schlüssel mit Ihrem Paketnamen und dem Fingerabdruck von SHA
SCHRITTE zum Erstellen eines API-Schlüssels
1.Holen Sie sich Informationen über das Zertifikat Ihrer App (SHA-Fingerabdruck).
2. Registrieren Sie ein Projekt in der Google Developers Console
3. Fügen Sie die Google Places-API als Dienst für das Projekt hinzu und erstellen Sie einen API-Schlüssel.
4. Fügen Sie den Schlüssel zu Ihrem App-Manifest hinzu.
Stellen Sie sicher, dass die API-Metadaten in der Datei Manifest.xml gespeichert sind
<meta-data Android:name="com.google.Android.geo.API_KEY" Android:value="You API Key Here"/>
Ich habe zwar die Android Place API über die Entwicklerkonsole aktiviert, bin jedoch auf folgenden Fehler gestoßen:
Status {statusCode = PLACES_API_INVALID_APP, resolution = null}
Dann gehe ich zur Entwicklerkonsole, wähle mein zuvor registriertes Projekt aus und befolge die Option "Get Place API Key" für mein Projekt. Ich habe es so gelöst.
Ich habe diesen Fehler im Pre-Launch-Bericht der Google Play Console gesehen, obwohl ich das Google Play App Signing SHA-1-Zertifikat hinzugefügt habe.
Es hat sich herausgestellt, dass es im Einstellungsmenü des Pre-Launch-Berichts eine Option gibt, die als Pre-Launch-Berichtsversion bezeichnet wird.
Der Pre-Launch-Bericht untersucht Ihre App jetzt noch genauer und kann zu weiteren Abstürzen führen. Zu diesem Zweck wird Ihre APK jedoch vorübergehend in unserer Laborumgebung neu signiert.
Ich habe die Option zum Deaktivieren von Pre-Launch-Berichten aktiviert, bei denen die App neu signiert wurde und der Fehler behoben wurde.
Klicken Sie auf Ihre Anwendung> Release-Verwaltung> Pre-Launch-Bericht> Einstellungen> Pre-Launch-Berichtsversion.
Dies hilft Ihnen nicht, den Fehler auf einem realen Gerät zu beheben, aber es hat mein Problem behoben.
Dank an diese Antwort dafür, dass ich darauf hingewiesen habe.