【问题标题】:Integrate android with google play service got a "java.lang.IllegalStateException"将 android 与 google play 服务集成得到“java.lang.IllegalStateException”
【发布时间】:2014-02-27 06:00:14
【问题描述】:

我尝试将 google play 服务与我的 unity android 游戏集成。登录 google play 服务后,DDMS 中出现以下日志消息,应用程序崩溃。

02-27 13:50:00.633  13419-13419/? D/AndroidNative﹕ GameHelper: onConnected: connected! client=1
02-27 13:50:00.633  13419-13419/? D/AndroidNative﹕ GameHelper: Connected clients updated to: 1
02-27 13:50:00.633  13419-13419/? D/AndroidNative﹕ GameHelper: connectNextClient: requested clients: 1, connected clients: 1
02-27 13:50:00.633  13419-13419/? D/AndroidNative﹕ GameHelper: Pending clients: 0
02-27 13:50:00.633  13419-13419/? D/AndroidNative﹕ GameHelper: All clients now connected. Sign-in successful!
02-27 13:50:00.633  13419-13419/? D/AndroidNative﹕ GameHelper: All requested clients connected. Sign-in succeeded!
02-27 13:50:00.633  13419-13419/? D/AndroidRuntime﹕ Shutting down VM
02-27 13:50:00.633  13419-13419/? W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x415baba8)
02-27 13:50:00.633  13419-13419/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.dokinkon.projectp, PID: 13419
java.lang.Error: FATAL EXCEPTION [main]
Unity version     : 4.3.2f1
Device model      : LGE Nexus 5
Device fingerprint: google/hammerhead/hammerhead:4.4.2/KOT49H/937116:user/release-keys
Caused by: java.lang.IllegalStateException: No AppStateClient. Did you request it at setup?
        at com.google.example.games.basegameutils.GameHelper.getAppStateClient(GameHelper.java:294)
        at com.android.gs.GameClientManager.onStateChange(GameClientManager.java:690)
        at com.google.example.games.basegameutils.GameHelper.setState(GameHelper.java:272)
        at com.google.example.games.basegameutils.GameHelper.succeedSignIn(GameHelper.java:813)
        at com.google.example.games.basegameutils.GameHelper.connectNextClient(GameHelper.java:695)
        at com.google.example.games.basegameutils.GameHelper.onConnected(GameHelper.java:805)
        at com.google.android.gms.internal.k.y(Unknown Source)
        at com.google.android.gms.internal.au.y(Unknown Source)
        at com.google.android.gms.internal.k$f.a(Unknown Source)
        at com.google.android.gms.internal.k$f.a(Unknown Source)
        at com.google.android.gms.internal.k$b.D(Unknown Source)
        at com.google.android.gms.internal.k$a.handleMessage(Unknown Source)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5017)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
        at dalvik.system.NativeStart.main(Native Method)

我不知道什么是“java.lang.IllegalStateException: No AppStateClient。你在设置时请求过吗?”意味着为。谢谢。

【问题讨论】:

    标签: android unity3d google-play-services


    【解决方案1】:

    您需要添加APPSTATE客户端,如下图:

    //should be called on your application start 
    //best practice to call it only once. Any way other calls will be ignored by the plugin.
    //if you want to use only Game service (Leader-boards, achievements) use GooglePlayConnection.CLIENT_GAMES
    //if you want to use only Google Cloud service use GooglePlayConnection.CLIENT_APPSTATE
    //if you want both: GooglePlayConnection.CLIENT_GAMES | GooglePlayConnection.CLIENT_APPSTATE
    //and if you whant to get avaliable permissions for your app use: GooglePlayConnection.CLIENT_ALL
    
    GooglePlayConnection.instance.start (GooglePlayConnection.CLIENT_GAMES | GooglePlayConnection.CLIENT_APPSTATE );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 2018-02-08
      • 2014-06-11
      相关资源
      最近更新 更多