谷歌播放服务,登录成功但创建空间错误

时间:2013-09-19 18:35:58

标签: android libgdx multiplayer google-play-services

这与其他人在这里遇到的问题非常类似,只是修复他们的解决方案不是我的问题。 (注意:我正在使用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始终是真的。

I have multiplayer enabled on my dev console

我的包名是匹配的,我甚至在我的api控制台中看到了这个。

games.rooms.create

error messages

2 个答案:

答案 0 :(得分:1)

您是否通过自动选择名称来创建房间?或者选择圈子中的某人?

我还没有在最终版本中发布我的应用程序(几个月的alpha / beta测试,我很接近:)),但是当我创建房间时,我邀请了那些不属于测试组的人,我获取错误6(实际上我已经创建了处理发布版本的情况的方法..如果用户在发布时尝试创建房间时发生同样的错误)

如果自动选择工作正常,并且您已将所选人员添加到测试电子邮件中,那么我唯一一次遇到错误6就是网络出现问题时(无论是在我的网络还是Google的网站上)当然,但它本质上是暂时的。

所以,我认为确保他们是你的测试小组的一部分(甚至可能必须安装应用程序,不确定那部分,因为我没有测试过...新的测试要添加!) ,将是我开始的地方。

答案 1 :(得分:0)

想出来。误导Javadoc加上人为错误。

enter image description here

我认为第二个参数是指玩家的最大数量,而不是邀请的最大玩家数量,因此你还有3个其他玩家。

所以这是我的代码中的罪魁祸首= p

Bundle am = RoomConfig.createAutoMatchCriteria(1, 4, 0);

应该是

Bundle am = RoomConfig.createAutoMatchCriteria(1, 3, 0);

现在它工作得很好=)