在Android中初始化游戏客户端

Sem*_*cer 67 android google-play-services

我正在尝试新的Google Play游戏服务.

起初我按照这个方法https://developers.google.com/games/services/android/quickstart ,然后完成了这个https://developers.google.com/games/services/android/init

我最终是这样的:

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)
Run Code Online (Sandbox Code Playgroud)

我试着一步一步地学习本教程.我不明白出了什么问题.

ava.lang.IllegalStateException:发生了致命的开发人员错误.查看日志以获取更多信息.

我认为logcat =日志并没有更多.那我在哪里可以找到这些"日志"?

我的实现只有一点不同.我有一个扩展BaseGameActivity的ClassA,然后是扩展ClassA并实现View.OnClickListener的ClassB所以我在ClassB类中有https://developers.google.com/games/services/android/init中的所有方法

谢谢你的帮助

小智 126

我最初遇到了同样的问题.我要做的就是查看完整的,未经过滤的LogCat日志.在那里,我看到了这样的信息:

GamesIntentService(17929):使用Google Play游戏服务需要在清单的应用标记中使用名称为"com.google.android.gms.games.APP_ID"的元数据标记

因此,假设您在strings.xml被叫中创建了一个条目,请app_id尝试AndroidManifest.xml<application>标记下添加以下内容:

<meta-data android:name="com.google.android.gms.games.APP_ID"
        android:value="@string/app_id" />
Run Code Online (Sandbox Code Playgroud)

您可以在" 游戏服务"选项卡中找到您的APP_ID

**游戏服务**标签

  • 另外,请勿将您的应用ID直接放入元数据标记.当系统期望它是一个String时,它被解析为整数:| (34认同)
  • facepalm - 我在`AndroidManifest.xml`中有它,但在我的`<application>`标签上没有.谢谢 (8认同)
  • 轻微添加,不要将".APP_ID"替换为开发人员控制台中的APP ID.我失去了大约15分钟:| (5认同)
  • 另外,"未过滤的日志"表示检查完整的设备日志而不是特定于应用程序的日志.Google Play服务不属于您的应用,因此不会在其中记录错误消息. (4认同)

Die*_*mar 18

补充Hetabiquo响应,如果您还在游戏中使用Cloud Save服务,您还必须通过在<application>标记范围内添加以下元数据标记来更新应用程序的AndroidManifest.xml

<meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="@string/app_id" />
Run Code Online (Sandbox Code Playgroud)