这与其他人在这里遇到的问题非常类似,只是修复他们的解决方案不是我的问题。 (注意:我正在使用libgdx开发这个,但我很确定这个问题与签名部分工作无关)
@Override
public void startQuickGame() {
boolean signedIn = getSignedIn();
System.out.println(signedIn);
// automatch criteria to invite 1 random automatch opponent.
// You can also specify more opponents (up to 3).
Bundle am = RoomConfig.createAutoMatchCriteria(1, 4, 0);
// build the room config:
RoomConfig.Builder roomConfigBuilder = makeBasicRoomConfigBuilder();
roomConfigBuilder.setAutoMatchCriteria(am);
RoomConfig roomConfig = roomConfigBuilder.build();
// create room:
aHelper.getGamesClient().createRoom(roomConfig);
}
这是我在房间创建时检查的地方。
final static int RC_WAITING_ROOM = 10002;
@Override
public void onRoomCreated(int statusCode, Room room) {
if (statusCode != GamesClient.STATUS_OK) {
System.out.println(statusCode);
return;
}
// get waiting room intent
Intent i = aHelper.getGamesClient().getRealTimeWaitingRoomIntent(room, Integer.MAX_VALUE);
startActivityForResult(i, RC_WAITING_ROOM);
}
我到达的状态代码是6,对应于
STATUS_NETWORK_ERROR_OPERATION_FAILED
我在创建房间之前肯定已登录,因为signedIn始终是真的。
我的包名是匹配的,我甚至在我的api控制台中看到了这个。
答案 0 :(得分:1)
您是否通过自动选择名称来创建房间?或者选择圈子中的某人?
我还没有在最终版本中发布我的应用程序(几个月的alpha / beta测试,我很接近:)),但是当我创建房间时,我邀请了那些不属于测试组的人,我获取错误6(实际上我已经创建了处理发布版本的情况的方法..如果用户在发布时尝试创建房间时发生同样的错误)
如果自动选择工作正常,并且您已将所选人员添加到测试电子邮件中,那么我唯一一次遇到错误6就是网络出现问题时(无论是在我的网络还是Google的网站上)当然,但它本质上是暂时的。
所以,我认为确保他们是你的测试小组的一部分(甚至可能必须安装应用程序,不确定那部分,因为我没有测试过...新的测试要添加!) ,将是我开始的地方。
答案 1 :(得分:0)
想出来。误导Javadoc加上人为错误。
我认为第二个参数是指玩家的最大数量,而不是邀请的最大玩家数量,因此你还有3个其他玩家。
所以这是我的代码中的罪魁祸首= p
Bundle am = RoomConfig.createAutoMatchCriteria(1, 4, 0);
应该是
Bundle am = RoomConfig.createAutoMatchCriteria(1, 3, 0);
现在它工作得很好=)