2013-05-16 7 views
65

Ich versuche die neuen Google Play Game Services.Initializing Games Client in Android

Zuerst folgte ich dieses Howto https://developers.google.com/games/services/android/quickstart und dann beenden diese https://developers.google.com/games/services/android/init

ich am Ende wie folgt:

05-16 20:01:39.034: E/AndroidRuntime(18257): FATAL EXCEPTION: main 
05-16 20:01:39.034: E/AndroidRuntime(18257): java.lang.IllegalStateException: A fatal developer error has occurred. Check the logs for further information. 
05-16 20:01:39.034: E/AndroidRuntime(18257): at com.google.android.gms.internal.p$f.a(Unknown Source) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at com.google.android.gms.internal.p$f.a(Unknown Source) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at com.google.android.gms.internal.p$b.p(Unknown Source) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at com.google.android.gms.internal.p$a.handleMessage(Unknown Source) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at android.os.Handler.dispatchMessage(Handler.java:99) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at android.os.Looper.loop(Looper.java:137) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at android.app.ActivityThread.main(ActivityThread.java:5041) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at java.lang.reflect.Method.invokeNative(Native Method) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at java.lang.reflect.Method.invoke(Method.java:511) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
05-16 20:01:39.034: E/AndroidRuntime(18257): at dalvik.system.NativeStart.main(Native Method) 

Ich habe versucht, den Tutorial Schritt für Schritt zu folgen. Ich verstehe nicht, was falsch läuft.

ava.lang.IllegalStateException: Ein schwerwiegender Entwicklerfehler ist aufgetreten. Überprüfen Sie die Protokolle für weitere Informationen.

Ich dachte, dass logcat = logs und es gibt nichts mehr. Wo kann ich diese "Logs" finden?

Meine Implementierung unterscheidet sich nur in einer Sache. Ich habe eine Klasse A, die dann ClassB und Basegameactivity erstreckt, die KlasseA erstreckt und implementiert View.OnClickListener So habe ich alle Methoden von https://developers.google.com/games/services/android/init in Klasse ClassB

Vielen Dank für jede Hilfe

Antwort

123

ich zunächst das gleiche Problem hatte. Was ich tun musste, war das vollständige, ungefilterte LogCat-Protokoll. Dort habe ich die Nachricht sah:

GamesIntentService (17929): Mit Google-Spiele Play-Dienste erfordert ein Metadaten-Tag mit dem Namen „com.google.android.gms.games.APP_ID“ in der Anwendung Tag Ihrer Manifest

Also, Sie unter der Annahme in Ihrem strings.xml einen Eintrag erstellt app_id genannt, versuchen Sie folgendes zu Ihrem AndroidManifest.xml unter dem <application>-Tag hinzu:

<meta-data android:name="com.google.android.gms.games.APP_ID" 
     android:value="@string/app_id" /> 

können Sie finden Ihre APP_ID in den Games Dienstleistungen Registerkarte

**Games Services** tab

+8

facepalm - ich hatte es in 'AndroidManifest.xml' aber nicht auf meinem' ' Etikett. Danke – Semanticer

+5

Geringfügige Ergänzung, ersetzen Sie nicht ". APP_ID" mit Ihrer APP-ID von der Entwicklerkonsole. Ich habe damit ungefähr 15 Minuten verloren: | – RelativeGames

+32

Eine weitere Ergänzung, legen Sie Ihre App-ID nicht direkt auf das Metadaten-Tag. Es wird als Ganzzahl aufgelöst, wenn das System erwartet, dass es ein String ist: | – Finnboy11

18

Hetabiquo Antwort Ergänzung, wenn Sie auch Ihre Anwendung AndroidManifest.xml aktualisieren müssen Sie auch Cloud-Speicher-Dienst in Ihrem Spiel verwenden, um die folgenden durch Zugabe Meta-Daten-Tag in <application> tag Umfang

<meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="@string/app_id" /> 
+0

Danke bro! Das war es – cesarferreira

+0

helloe @Diego Palomar in meiner App ich bin bereits definieren app_id aber es hieß nur numerisch erlaubt, aber in meinem Fall App-ID erstellen mit console.google.developer, wie 123-30abcd.apps.googleusercontent.com, so wie kann verwendet meine App-ID ich konfrontiert illegalstateException aufgrund, bitte geben Sie mir Lösung –

+0

@NiravMehta: Verwenden Sie die Nummer vor dem Bindestrich in dieser langen Zeichenfolge (Client-ID) Sie in Google Developers Console sehen. –

2

Genau das gleiche Problem hatte, aber hatte den Meta-Tag richtig - ich habe loo k das ungefilterte Logcat und fand heraus, dass es nach einem anderen Meta-Tag gesucht hat.

Der Name des Meta-Tags hängt von der Art der Client-Nummer ab, die Sie im GameHelper-Konstruktor angegeben haben (sofern Sie ihn verwenden).

new GameHelper(this, GameHelper.CLIENT_GAMES); 

Für mich habe ich versehentlich CLIENT_ALL verwendet, was zu falschen Erwartungen an den Meta-Tag-Namen führt. Ich habe es in CLIENT_GAMES geändert und alles hat reibungslos funktioniert.

1

Neben Hetabiquo, können Sie Ihre APP_ID in die Spiele Dienstleistungen Registerkarte fin:

**Games Services** tab