无法使用 Google Play 游戏服务创建房间

Posted

技术标签:

【中文标题】无法使用 Google Play 游戏服务创建房间【英文标题】:Can't create room with Google Play Game Services 【发布时间】:2013-06-21 07:35:45 【问题描述】:

我一直在为我的游戏使用 Google Play 游戏服务的多人游戏功能,但最近我无法再创建房间了。

我已经很久没有接触过这部分代码了,所以我不明白是什么让它失败了。我正在通过 Wifi 连接到互联网的 Nexus 4 和 Motorola Razr 上进行测试。

首先我使用 Google+ 登录并调用 onSignInSucceeded()。然后我把这段代码称为:

public void startQuickMatch() 
    // quick-start a game with 1 to 3 randomly selected opponents
    final int MIN_OPPONENTS = 1, MAX_OPPONENTS = 3;
    Bundle autoMatchCriteria = RoomConfig.createAutoMatchCriteria(MIN_OPPONENTS, MAX_OPPONENTS, 0);
    //Bundle autoMatchCriteria = RoomConfig.createAutoMatchCriteria(2, 2, 0);
    RoomConfig.Builder rtmConfigBuilder = RoomConfig.builder(this);
    rtmConfigBuilder.setMessageReceivedListener(this);
    rtmConfigBuilder.setRoomStatusUpdateListener(this);
    rtmConfigBuilder.setAutoMatchCriteria(autoMatchCriteria);
    //keepScreenOn();
    getGamesClient().createRoom(rtmConfigBuilder.build());
    Log.d(TAG, "createRoom called");

但是,我没有创建房间并将我放在候诊室,而是得到了那些对我没有帮助的日志,因为它们对我来说不清楚,而且在谷歌上也找不到。

06-24 13:10:34.366: D/SuperNinjaRun(29402): createRoom called
06-24 13:10:34.376: E/DataConnectionManager(21359): tearDown() called when network is NOT ready for match !
06-24 13:10:34.426: I/libjingle(21359): Token type:OAuth2
06-24 13:10:34.426: I/libjingle(21359): Final XMPP server hostname talk.google.com port to 5222
06-24 13:10:34.436: D/games_rtmp:Libjingle(21359): Release: call nativeRelease
06-24 13:10:34.436: W/RealTimeandroidService(21359): Could not prepare network for the room.
06-24 13:10:34.496: W/InputMethodManagerService(551): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@42843b40 attribute=null, token = android.os.BinderProxy@42b617d0
06-24 13:10:34.776: I/libjingle(21359): OpenSSLAdapter::OnConnectEvent
06-24 13:10:34.976: I/libjingle(21359): BeginSSL: gmail.com
06-24 13:10:35.797: I/libjingle(21359): Starting Jingle info task.
06-24 13:10:35.797: I/libjingle(21359): IbbDataTask::ProcessStart() called:
06-24 13:10:35.807: I/libjingle(21359): ProcessStart()::Sending Jingle info stanza.
06-24 13:10:35.907: I/libjingle(21359): OnJingleInfo called. Setting relay/stun hosts.
06-24 13:10:36.928: E/libjingle(21359): Error(libjingleclient.cpp:232): Exiting with unfinished tasks.
06-24 13:10:36.928: I/libjingle(21359): Cleanup

有时它也会在几秒钟后给我那些日志:

06-24 13:30:48.043: E/Volley(1165): [80] il.a: Unexpected response code 400 for https://www.googleapis.com/games/v1whitelisted/applications?language=en_US&platformType=ANDROID
06-24 13:30:48.043: E/GameAgent(1165): Unable to retrieve applications from network
06-24 13:30:48.043: I/GameAgent(1165): "code":400,"errors":["message":"Invalid applicationId with value ReplaceMe.","domain":"global","reason":"invalid"]
06-24 13:30:48.103: D/SyncManager(531): failed sync operation raphael.royer.rivard@gmail.com u0 (com.google), com.google.android.gms.games, USER, earliestRunTime 28048, SyncResult: stats [ numIoExceptions: 1]

有人知道问题出在哪里吗?

【问题讨论】:

【参考方案1】:

它现在可以工作了,我在开关中忘记了break;...所以玩家在尝试创建房间之前就退出了...

【讨论】:

我无法创建房间。你能给我一个示例代码吗? 我的帖子6年了,好久没开发安卓游戏了……祝你好运!

以上是关于无法使用 Google Play 游戏服务创建房间的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 上创建实时房间后,Google Play 游戏服务崩溃

如何在实时多人游戏 Google Play 游戏服务中向其他参与者发送有关房间创建的数据

Google Play 服务 - 房间 - CreatorID 不唯一

Google-Play-Services:创建自定义候诊室 UI

当应用程序进入后台时,实时多人 Google Play 游戏服务对等方断开连接

创建房间时 CONNECTION_FAILED Google Play 服务