Google Play-Spieldienste - Anmeldung nicht möglich
Recht nach der gestrigen Google I/O keynote habe ich aktualisiert meine Android-SDK integrieren Sie das Spiel Dienstleistungen in einer meiner apps.
Dinge, die ich bisher getan habe:
- Hinzugefügt und verbunden, meine app in der Dev-Konsole (game services)
- enthalten die OAuth-client-id in meine app/manifest
- Hinzugefügt
BaseGameActivity
undGameHelper
zu meinem Projekt (von GitHub) - Hinzugefügt wurde die google-play-services-Bibliothek, um mein Projekt
- erweitert
BaseGameActivity
fügte eincom.google.android.gms.common.SignInButton
Habe ich auch die game-meta-Daten und natürlich einige Erfolge. Die dev-Konsole Staaten, dass Sie bereit ist, Sie zu entlassen. Zum testen des login-flow und Erfolge, die ich Hinzugefügt habe zwei Google+ Konten als test-Benutzer.
Aber wenn ich test das SignInButton, eine Warnung erscheint: Unbekannter Fehler. Hier der logcat:
ERROR/Volley: il.a: Unexpected response code 403 for https://www.googleapis.com/games/v1/players/me
ERROR/SignInIntentService: Access Not Configured
ERROR/LoadSelfFragment: Unable to sign in - application does not have a registered client ID
Habe ich gebaut meine Anwendung in der Produktion-Modus - mit ProGuard und das richtige Zertifikat.
Hab ich was verpasst?
Update - einige weitere versuche
Hier ein kurzer überblick über das, was ich versucht habe in der Zwischenzeit. Nichts half.
- entfernen und neu erstellen die verlinkte Android-app-Eintrag (doppelt geprüft Zertifikat fingerprint)
- deaktivieren Sie die anti-Piraterie -
- überspringen proguard
- erstellen Sie eine neue (test -) Spiel und verwenden Sie Ihre client-id
Das problem ist nicht im Zusammenhang mit der Konten für die Prüfung Abschnitt. Mit einem Konto ist nicht aktiviert für die Prüfung führt zu einer anderen Fehlermeldung:
E/GameAgent: Unable to retrieve 1P application 547xxxxxx457 from network
E/CheckGameplayAcl: Unable to load metadata for game
Lösung von Hartok!
Hartok, der die Lösung hat mir sehr geholfen um dieses Problem zu beheben. Ich habe noch nie besuchten die Google APIs-Konsole vor. Es ist wichtig zu wissen, dass das OAuth-Client-ID wird nicht gelöscht, wenn Sie entfernen einer verknüpften app aus deinem Spiel oder sogar löschen ein Spiel (in der Dev-Konsole). Sie haben, besuchen Sie die APIs-Konsole und entfernen Sie es manuell.
Die automatisch ausgewählte SHA1-Fingerabdruck ist (immer) falsch! Sie müssen Ihre eigenen lookup:
keytool -exportcert -alias <your-alias> -keystore <path-to-keystore> -list -v
Die neue client-id von meinen (korrekt) verlinkten app sah aus wie 89xxxxxxxx73-2u6mXXXXXXXXXXXXXXXXXXX8903.apps.goo...
nicht nur 12 Ziffern wie zuvor. Ich fand schließlich heraus, dass Sie haben, um auszuschließen, Strich-und Buchstaben-Zeug und haben um die 12 Ziffern nur.
InformationsquelleAutor der Frage ottel142 | 2013-05-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich das Problem behoben.
In meinem Fall, wenn ich verknüpfte meine app (noch nicht veröffentlicht) und mein Google Play Game Services-Projekt, das Zertifikat Fingerabdruck-auto-ausgewählt von Google Play war nicht gut.
Um das zu beheben, habe ich gelöscht meine app-client-ID auf Google APIs-Konsoleunverknüpfte meine app dann erneut verknüpft es mit dem richtigen Zertifikat-Fingerabdruck.
Dieser Fingerabdruck wird angezeigt, wenn der Export Ihrer app in Eclipse (wenn Ihr das ADT plugin ist up-to-date).
Hoffe, es hilft.
InformationsquelleAutor der Antwort Hartok
Nach einem langen 2 Wochen versuchen, dieses problem zu beheben, die ich erstellt habe Schritte für mich um dieses problem zu beheben, und beschlossen, es zu teilen mit jedem, der leidet unter dem gleichen Problem, dieser kommt ohne Veröffentlichung ist das Spiel . es ist für die Tests verwendet. wenn veröffentlichen auf Zeit kommt, Teile ich die Schritte, die zum veröffentlichen der app und stellen Sie sicher, es funktioniert mit Google play game service.
beachten Sie, dass alles was ich versuche zu tun, ist eine Anmeldung mit dem Google-sign-in-Taste ohne Aktion, was passieren soll, nachdem Sie Unterschreiben, beachten Sie auch, dass ich verwendet haben, BaseGameUtils aus dem Google play Beispiel, wie eine Bibliothek, und meine IDE der Wahl, um all dies getan war Eclipse.
Unten sind die Schritte eins nach dem anderen mit eclipse:
1-import BaseGameUtils als Bibliothek in Ihrem eclipse-Arbeitsbereich, stellen Sie sicher, dass kein Fehler Auftritt, nach dem import. wenn ein Fehler aufgetreten ist, tun Sie Folgendes:
ein - Rechtsklick auf die BaseGameUtil Projekt im Projekt-explorer
b-Klicken Sie auf das Java build path
c-Klicken Sie auf add external jars von dort aus navigieren Sie zum SDK-Pfad und finden Google-Play-services.jar
d-wählen Sie es und klicken Sie auf ok ---> sollten Sie die jar-Hinzugefügt in die Gläser und den Klasse Ordner-Fenster.
e-Go für die Um-und export-Registerkarte auf der rechten Seite von Bibliotheken und stellen Sie sicher, "Android private libraries" und "Android Dependencies" geprüft werden auch dafür sorgen, dass die google-play-services.jar ausgewählt ist.
2 - Jetzt stellen Sie sicher, Referenz importierten BaseGameUtility richtig in die app, die Sie verwenden möchten ," können Sie Erstellen Sie eine einfache hello-world-Anwendung, um dies zu testen " , so, jetzt werden wir den Verweis auf die BaseGameUtility in der hello-world-Anwendung wie folgt:
(wichtig sicherzustellen, dass Beide Hallo Welt und BaseGameUtil sind beide in dem gleichen Laufwerk zwei Laufwerke funktionieren nicht)
ein-Rechtsklick auf die Anwendung "hello world" in der rechten Seite im Projekt-explorer
b-klicken Sie auf das Java build path
c-Klicken Sie auf Bibliotheken
d - hinzufügen der Unterstützung von android-v4-wenn nötig von einer externen oder internen Quelle (Nicht Erforderlich)
e - fügen Sie die Basis-Spiel-utils .jard, indem Sie auf Klasse hinzufügen Ordner --> wählen Sie dann die BaseGameUtilProject ---Dann wählen Sie den /bin-Ordner --Dies sollte den import in Ihre Anwendung
f-hinzufügen google-play-services.jar von einer externen Quelle, auch, wenn nötig
g-in "order and export" stellen Sie sicher, dass die folgenden ausgewählt ist --->"Android Private Libraries,Android-Abhängigkeiten ,BasegameUtils.jar,GooglePlayGameServices.jar" zusammen mit der normalen SRC-und GEN, sollte standardmäßig ausgewählt sein.
3 - jetzt in Ihrer java-Datei helloworld.java sicherzustellen, dass Ihre Haupt-Bildschirm, auf dem alle erforderlichen Einfuhren und erweitern Sie dann den BaseGameUtil und stellen Sie sicher, dass das Projekt implementiert die ViewOnClickListener.
4 - Bearbeiten Sie Ihr android-manifest die folgenden:
und
5 - stellen Sie sicher, dass Sie eine ids.xml Datei in Ihre Ressourcen, um Ihre Anwendungs-ID, nachdem Sie es schaffen.
Können Sie leer lassen, für jetzt, als später werden Sie haben, um die Anwendungs-ID in es
6-Kopie der debug-Schlüssel, die Sie auf Ihrem eclipse-IDE, bevor Sie diese Anwendung in der Entwickler-Konsole. so in eclipse geschieht wie folgt:
ein-klicken Sie auf Fenster
b - wählen Sie android
c-Klicken Sie auf erstellen
d - kopieren Sie den SHA1-Fingerabdruck und halten Sie es, um es verwenden, wenn Sie Ihre app in der Entwickler-Konsole.
7 - Erstellen Sie Ihr Spiel in der Entwickler-Konsole und verwenden der SHA1-abgerufen von Schritt 6.
8 - legen Sie die Anwendungs-ID in der ids.xml markiert in Schritt 5
9 - überprüfen Sie Ihre Werte und sorgen dafür, dass die package-Namen sind alle richtig zwischen den Entwickler-Konsole und die manifest-Datei .
10 - Wenn Sie getan werden, sicherzustellen, dass die Anwendung in der Entwickler-Konsole entspricht der SHA1-Hash zugeordnet ist, in der developer console verwenden das Dienstprogramm keytool. Dies ist der Schritt, nahm mich 2 Wochen nur um herauszufinden,
ein - wählen Sie die Anwendung APK aus dem bin-Ordner von "hello world" - Projekt, und kopieren Sie es an einen anderen Speicherort zu überprüfen, die ID mit key tool später
b-suchen Sie Ihre keytool --> in der Regel befindet sich unter dem JAVA-Ordner auf Ihrem computer, in meinem Fall war es unter
C:\Program Dateien\Java\jdk1.7.0_09\jre\bin
c - Extrahieren Sie Ihre apk in den temp-Speicherort
d - führen Sie den folgenden Befehl
keytool -printcert -file "TempLocation\Meta-INF\CERT.RSA"
erhalten Sie eine MD5-zusammen mit SHA1 und SHA256
Sicherzustellen, dass die SHA1-Spiele die man in der Entwickler-Konsole.
11 - Hier ist zu prüfen, wie Ihre SHA1-aus Entwickler-Konsole,
ein - gehen, um Spiel-Services
b - klicken Sie auf den Namen des Spiels in unserem Fall "helloWorld"
c - Scrollen Sie nach unten zu "API-konsolenprojekt"
d - Sie sollten sehen, "dieses Spiel ist mit der API-console-Projekt namens helloworld"
e - helloworld sollte ein hyperlink klicken Sie darauf,
f - dies wird öffnen Sie die Google APis-Konsole
g - in APconsole klicken Sie auf API-Zugriff
h - Blättern Sie nach unten auf "Client-IDs für installierte Anwendung" , sollten Sie sehen die SHA1 sicherzustellen, dass es der gleiche ist wie der generiert aus dem keytool zuvor in Schritt 10 . ( wenn Sie nicht übereinstimmen, müssen Sie löschen Sie das Spiel von Entwickler-Konsole, und erstellen Sie es mit der richtigen SHA1 ) " achten Sie darauf, nicht zu ändern, den SHA1-Hash von Google APIs-Konsole, dies wird zu Problemen führen.
Ich-Sicherzustellen, dass die package-name ist der gleiche package-Namen in Ihrem android-manifest, damit meine ich überall Paket name erwähnt wird, sicherzustellen, dass es passt das man im "Client-ID für installierte Anwendungen" ( in meinem Fall hat es nicht mit dem in der Zeile 4 von meinem manifest)
Ist und dass ist es Sie sollten nun in der Lage, testen Sie Ihre anmelden mit google spielen Spiel-service
InformationsquelleAutor der Antwort Dulli
Hatte das gleiche problem. Meine Lösung war, dass link das gleiche Paket zweimal in der Dev-Konsole, das erste, mit dem SHA1-fingerprint von meinem eigenen Zertifikat und die zweite mit meine debug-key-SHA1.
Hatte ich versucht mit nur eine oder nur das andere vor diesem und es hatte nicht funktioniert, entweder.
InformationsquelleAutor der Antwort user2267794
In Schritt 3. Generieren Sie eine OAuth 2.0-client-ID es speziell gibt eine Warnung wie folgt:
Also meine Erfahrung war, dass Sie benötigen, um die Führung zu Folgen religiös: Einrichten des Google Play Game Services mit den Google Play-Entwickler-Konsole
InformationsquelleAutor der Antwort Sachin Chavan
Kämpfte ich dieses problem viel. Änderungen in der Google APIs-Konsole nur brechen OAuth-Client-ID - berühren Sie es nicht. Für mich die einzige Lösung war die Schaffung neuer Spiel-service und verbinden Sie signierte apk-mit normale(nicht debug) - Taste- denn sobald der apk Sie eine beliebige Taste, wenn Sie erneut versuchen, um es hinzuzufügen mit dem anderen Schlüssel funktioniert es auch nicht. Löschen Spiel funktioniert nicht, google wird sich noch an die Paket-Namen. Sie können versuchen, zu ändern, apk-Paket-Namen (natürlich ist es nicht die beste Idee) und es wieder versuchen, aber es wird nicht immer funktionieren.
So dass, sobald Sie haben, wird dieses problem die beste Lösung ist, zu ändern apk-Paket name und neues Spiel erstellen Dienst - diese sicher nicht immer funktionieren - und bitte vorsichtig sein mit dem Spiel-service-name nicht mit dem Namen, den Sie zuvor verwendet - es wird alles versauen.
Vom paar Probleme, die ich habe mit diesem service das lustigste ist, dass ich jetzt meine apk verbunden mit Spiel-service, aber es ist nicht aufgeführt, und ich kann nicht Hinzugefügt werden, weil ein Fehler:Diese client-ID ist weltweit eindeutig und ist schon in Gebrauch - ich denke, dass die client-ID ist nicht ein OAuth-ID - ich kann nicht gelöscht werden - es gibt keine solche option - und dies ist vielleicht ein root problem was wir hier haben.
InformationsquelleAutor der Antwort user2445947
Stellen Sie sicher, dass die ID, die Sie hier eingeben, werden die meta-Daten Ihrer app-id, die nicht deine client-id. Und Sie können nicht fest, es muss ein string ist, müssen Sie es in Ihre Ressourcen und klicken Sie dann verweisen Sie in Ihrem manifest.
Lesen Sie diese für mehr info:
https://developers.google.com/games/services/console/enabling#c_specify_client_id_settings
InformationsquelleAutor der Antwort Alex Cabrera
Erlebe ich ähnliche Probleme, und ich sehe, dass diese Seite wurde aktualisiert am 30. Mai 2013:
https://developers.google.com/games/services/android/troubleshooting
Kann es helfen einige von uns.
InformationsquelleAutor der Antwort IanB
Kerl, Haben Sie richtig eingestellt wird dein account zum testen ?
Sehen https://developers.google.com/games/services/console/testpub#enabling_accounts_for_testing
Das war der fehlende Schritt für mich. Nach, dass ich nicht bekommen, diese Fehler nicht mehr :
InformationsquelleAutor der Antwort avianey
Den trick, die für mich gearbeitet wurde, zu veröffentlichen-Spiel services-Konfiguration, da hatte ich schon eine APK veröffentlicht, die der alpha-Test.
Weitere details siehe Absatz "Andere Ursachen" in Fehlerbehebung https://developers.google.com/games/services/android/troubleshooting
InformationsquelleAutor der Antwort Andy
Hartok war hilft mir auch, allerdings "könnte Man löschen müssen, um die Projekte von der google api console." dieser sound ausreichend, aber das ist es nicht , zumindest nicht für mich. Google hat wenig "undelete" - Funktion in der API-Konsole. Sie können einfach alles wiederherstellen , das heißt, Sie speichern Sie Ihre SHA-1-Schlüssel, aber die als gelöscht markiert sind(?).
Was für mich gearbeitet, verwenden Sie die debug-Taste wieder, das war auch blockiert, ist, dass ich nicht gelöschte alle meine test-Projekte und manuell alles gelöscht, was den OAuth-Schlüssel in "API-Zugriff" die option alle diese Projekte gelöscht, danach könnte ich meine debug-Taste erneut. Hoffe, das hilft jemand...
InformationsquelleAutor der Antwort CaptainCrunch
Hier ist eine Checkliste:
Ein häufiges problem ist ein Konflikt 'app_id' Ressource-id, zum Beispiel, wenn Sie eine Facebook-SDK könnte es mit einem Schlüssel mit dem gleichen Namen, so überprüfen Sie, und benennen Sie die anderen in Fall, dass Sie finden Konflikte. (Ich würde immer die 'app_id' Beiträge zu diesem Projekt, als die BaseGameUtils Bibliothek bezieht sich auf es als 'app_id " im source-code habe ich geprüft).
Obwohl die docs erhalten Sie im Abschnitt "Google Entwickler-Konsole "don' T play smart und versuchen Sie, fügen Sie die Client-ID ' s von dort aus. Obwohl, am Ende, die Client-ID ' s werden auch am Ende dort oben. Es gibt einen kleinen Hinweis, dass kann leicht falsch verstanden wird:
Ich denke, das umfasst alles, die meisten Leute finden sich in einer Falle, so sieht alles schön in Google Developer Consoleaber in der Tat, Sie haben wahrscheinlich verpasste die die Schritte 3 und 4 oben.
InformationsquelleAutor der Antwort Alécio Carvalho
Dank Sachin Chavan endlich gelöst, der Probleme wurde:
1. Google play nahm das falsche sha1.
2. Versucht, um es von der Google Developer Console hat nicht funktioniert.
Nach einem Blick auf Sachin Chavan post und link, die ich sah, können Sie eine Verknüpfung derselben app aus Google Play Console mehrmals, so dass ich nahm den alias SHA1-mit:
und die debug-SHA1 mit:
ich verlinkt die app zwei mal, erste mal betrat ich den alias SHA1 und zum zweiten mal den debug-SHA1nach dem Tag eine Menge von Fehlern, dass es gelöst (die Stufen in Fett).
InformationsquelleAutor der Antwort LiranNis
Immer noch nicht für mich arbeiten. Google hat einen vollständigen reset von meinem Google Play Game Services, und haben Schritt für Schritt die integration. Immer noch sagte, dass ich nicht über ein registriertes google client-ID.
Ziemlich ein Fehler, wenn man bedenkt 3 Jahren für die Google Play Games Services.
Letzte, was, Konto mit @googlemail.com nicht erkannt werden, können Sie nicht exportieren Sie die IDs der Leistungen (Sie müssen kopieren Vergangenheit, die html, wenn Sie 40 Erfolge, ist es ziemlich Schmerzen).
InformationsquelleAutor der Antwort execomrt
In meinem Fall habe ich vergessen zu ändern-Paket-name in AndroidManifest.xml; das war alles. Ich denke, das sollte ueberprueft werden.
InformationsquelleAutor der Antwort user2259824
Bitte, versuchen Sie dies:
Wenn Sie das schon tun, dann Folgen Sie diesem wichtigen Schritt.
6 - Jetzt exportieren Sie Ihre app mit dem gleichen keystore und jetzt installieren Sie es auf Ihrem Gerät (in der Sie sich angemeldet haben als tester-id, registriert auf Google).
Nun, sicherlich werden Sie Zugriff auf Google-Echtzeit-server mit Fehler.
InformationsquelleAutor der Antwort AnkurJat
Version ID! Ich hatte meine version-ID auf einen Wert größer als meine jüngste release. Plötzlich konnte ich einloggen!
Für mich, und ich war mit einer Probe (Button Klicken) und tarnen es als eine meiner apps veröffentlicht. Ich wohl noch zu tun hatte, alle die SHA1-Wechsel-Sachen, da es schien aus, aber die Veränderung, kippte zu meinen Gunsten wurde die Aktualisierung der id version 3, da die Probe bei 1 beginnt und mein real/veröffentlicht app wurde eingestellt am 2.
InformationsquelleAutor der Antwort CodeMonkey
Mir debug-Signaturen arbeiten, nicht unterzeichnet ;/Können wir Kontakt zu google über ? Ich verbringe meinen ganzen Tag auf ihn;/ich erhalte die Meldung "es gibt keine verknüpfte app in Verbindung mit dieser client-ID", aber beide sind in Google-Api unter das richtige Projekt.
Auch ich habe versehentlich zwei verlinkten und veröffentlichten apps zeigen in die gleiche app_ID in der Entwickler-Konsole, beide veröffentlicht und kann nicht entfernt werden.
InformationsquelleAutor der Antwort Paweł
Bitte überprüfen Sie die Internetverbindung, wenn die app ausgeführt wird. Wenn Sie nicht verbunden sind, wird dieser Fehler protokolliert wird.
InformationsquelleAutor der Antwort Krishna Mohan Bandi