Google Play 游戏服务 - 实时多人游戏 - STATUS_CLIENT_RECONNECT_REQUIRED
Posted
技术标签:
【中文标题】Google Play 游戏服务 - 实时多人游戏 - STATUS_CLIENT_RECONNECT_REQUIRED【英文标题】:Google Play Games Services - Realtime Multiplayer - STATUS_CLIENT_RECONNECT_REQUIRED 【发布时间】:2016-06-24 14:07:41 【问题描述】:我正在尝试在我的 android 游戏中使用
Google Play 游戏服务,但我在调用我重写的 onRoomCreated
方法时遇到了问题。
@Override
public void onRoomCreated(int statusCode, Room room)
if (statusCode != GamesStatusCodes.STATUS_OK)
stopKeepingScreenOn();
showGameError();
return;
roomId = room.getRoomId();
showWaitingRoom(room);
状态码总是和GamesStatusCodes.STATUS_OK
不同,实际上等于2(+room
参数为空),也就是说根据Google:
GoogleApiClient 处于不一致状态,必须重新连接到 解决问题的服务。进一步调用服务使用 当前连接不太可能成功。
但是如果我打电话给getApiClient().reconnect()
,没有任何变化。所以我真的很感激任何帮助。有关信息,getApiClient()
来自我扩展的 GameHelper
类,该类在 Android samples page 的库中提供。
【问题讨论】:
【参考方案1】:onRoomConnected 在客户端尝试创建实时房间时调用。实时房间可以通过调用 createRoom(RoomConfig) 操作来创建,该操作为当前游戏创建一个实时房间。当前游戏连接到房间的生命周期与此 GamesClient 的生命周期绑定。当客户端断开连接时,玩家将离开房间,并且该玩家的所有点对点连接都将被断开。
您可以访问此page 了解更多信息。
如果您忘记了什么,也可以查看document,了解如何使用 Google Play 开发者控制台设置 Google Play 游戏服务。
【讨论】:
看来我最近解决了我的问题。问题是由于我试图使用 Google Play 游戏服务 而不生成签名的 APK,该证书与我在 中将链接的应用程序添加到我的游戏服务时使用的证书相同Google Play 开发者控制台. 大卫巴伦是对的。我改变了我的笔记本电脑,在那里我编写了我的应用程序的第一个版本。所以我必须添加一个新的 OAuth 2.0 客户端 ID,它有我的新 SHA1 密钥(来自我的新笔记本电脑)。以上是关于Google Play 游戏服务 - 实时多人游戏 - STATUS_CLIENT_RECONNECT_REQUIRED的主要内容,如果未能解决你的问题,请参考以下文章
Google Play 游戏服务 - 实时多人游戏 - STATUS_CLIENT_RECONNECT_REQUIRED
如何在使用 Google Play 游戏服务的实时多人游戏中使用机器人玩家?
如何在实时多人游戏 Google Play 游戏服务中向其他参与者发送有关房间创建的数据
当应用程序进入后台时,实时多人 Google Play 游戏服务对等方断开连接
我可以在 Unity Android Free 中使用 Google Play 游戏服务 - 实时多人游戏吗?
Google Play 游戏服务 (GPGS) 实时多人游戏 (RTMP) 在 Android 上永远无法匹配(iOS 工作)