我一直致力于开发基于回合的多人游戏。每一件东西都是做工精细相当长一段时间,直到突然间我不能再打开“匹配收件箱”的意图(例如,Android Google Play TurnBasedMatch-无效状态:4
Intent intent = getGamesClient().getMatchInboxIntent();
startActivityForResult(intent, MainActivity.RC_LOOK_AT_MATCHES);
当我看到错误的堆栈跟踪,这是因为有一个匹配无效状态 更糟的是,即使当我尝试加载比赛简单地删除/辞退他们所有的编程,我也得到了错误:
02-05 07:43:36.684: E/AndroidRuntime(13814): FATAL EXCEPTION: main 02-05 07:43:36.684: E/AndroidRuntime(13814): Process: com.oakonell.ticstacktoe, PID: 13814 02-05 07:43:36.684: E/AndroidRuntime(13814): java.lang.IllegalStateException: Not a valid turn status: 4 02-05 07:43:36.684: E/AndroidRuntime(13814): at android.os.Parcel.readException(Parcel.java:1473) 02-05 07:43:36.684: E/AndroidRuntime(13814): at android.os.Parcel.readException(Parcel.java:1419) 02-05 07:43:36.684: E/AndroidRuntime(13814): at com.google.android.gms.internal.fc$a$a.a(Unknown Source) 02-05 07:43:36.684: E/AndroidRuntime(13814): at com.google.android.gms.internal.ex.a(Unknown Source) 02-05 07:43:36.684: E/AndroidRuntime(13814): at com.google.android.gms.games.GamesClient.loadTurnBasedMatches(Unknown Source)
(它看起来像常量, MATCH_TURN_STATUS_ *从0-3运行,所以4无效。)
除了API以某种方式允许我以无知的方式将匹配保存为无效状态之外,似乎一旦有一个处于无效状态,即使清理它也不能被引用。
我看到开发者控制台引用了一个API来重置(白名单)用户的匹配。
https://cloud.google.com/console/project/[app id]/apiui/api/gamesManagement/method/gamesManagement.turnBasedMatches.reset
但我无法从控制台本身得到这个工作(我也不确定如何指定用户)。有没有一种方法可以从Android应用程序代码访问它?否则,我将如何从控制台访问以重置受此次无效比赛影响的(测试者)球员的比赛?
我想第二个问题是,我是如何在无效转身状态下保存比赛的,以及如何在将来避免这种情况? –