it-swarm.com.de

Initialisiere Games Client in Android

Ich versuche es mit den neuen Google Play-Spielediensten.

Zuerst folgte ich dieser Anleitung https://developers.google.com/games/services/Android/quickstart und beendete diese https://developers.google.com/games/ services/Android/init

Ich lande so:

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, dem 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 auf weitere Informationen.

Ich dachte das logcat = logs und da ist nichts mehr. Wo finde ich diese "Protokolle"?

Meine Implementierung unterscheidet sich nur in einer Sache. Ich habe eine ClassA, die BaseGameActivity erweitert, und eine ClassB, die ClassA erweitert und View.OnClickListener implementiert. Ich habe also alle Methoden von https://developers.google.com/games/services/Android/init in der Klasse Klasse b

Vielen Dank für jede Hilfe

67
Semanticer

Ich hatte anfangs das gleiche Problem. Was ich tun musste, war das vollständige, ungefilterte LogCat-Protokoll anzuschauen. Dort sah ich die Nachricht:

GamesIntentService (17929): Für die Verwendung der Google Play-Spiele-Services ist ein Metadaten-Tag mit dem Namen "com.google.Android.gms.games.APP_ID" im Anwendungs-Tag Ihres Manifests erforderlich

Angenommen, Sie haben in Ihrem strings.xml Einen Eintrag mit dem Namen app_id Erstellt. Fügen Sie Ihrem AndroidManifest.xml Unter dem Tag <application> Folgendes hinzu:

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

Sie finden Ihre APP_ID auf der Registerkarte Games Services

**Games Services** tab

126
Hetabiquo

Wenn Sie zusätzlich zur Hetabiquo-Antwort den Dienst Cloud Save in Ihrem Spiel verwenden, müssen Sie auch die AndroidManifest.xml-Datei Ihrer Anwendung von aktualisieren Hinzufügen des folgenden Metadaten-Tags in <application> Tag-Bereich

<meta-data Android:name="com.google.Android.gms.appstate.APP_ID" Android:value="@string/app_id" />
18
Diego Palomar

Hatte nur das gleiche Problem, aber das Meta-Tag war korrekt. Ich habe das ungefilterte Logcat nachgeschlagen und festgestellt, dass es nach einem anderen Meta-Tag suchte.

Der Name des Metatags hängt von der Art der Client-Nummer ab, die Sie im GameHelper-Konstruktor angegeben haben (sofern Sie diese 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.

2
reiti.net

Zusätzlich zu Hetabiquo finden Sie Ihre APP-ID auf der Registerkarte Games Services:

**Games Services** tab

1
Maarti

Ich habe eine ganze Weile unter diesem Fehler gelitten. Ich beschloss, das Paket basegameutils zu durchlaufen und jede Datei einzeln zu scannen. In der gameHelperUtils Klasse habe ich diese Methode gefunden, getAppIdFromResource (). Darin forderte es die App-ID von der Ressource an. Ich erinnerte mich, dass ich die App-ID in der Manifest-Datei fest codiert hatte. Ich habe dann eine String-Ressource von app_id in die Strings-Datei eingefügt. Zu meinem Erstaunen war der Fehler verschwunden und die Rangliste wurde angezeigt!

0
Michael Mulai