Android TurnBasedMutliplayer没有回调

时间:2016-04-17 21:36:24

标签: android multiplayer

我一直在按照指南将TurnBased Multiplayer添加到Android游戏中。 https://developers.google.com/games/services/android/turnbasedMultiplayer#before_you_begin。我已将所有内容编码,并且能够让用户登录Google Play服务。然后使用BaseGameUtils我尝试使用下面的函数创建一个匹配但我从未收到超时之外的回调。

void CreateMatch(MatchConfig matchConfig) {
    int minAutoMatchPlayers = 2;
    int maxAutoMatchPlayers = 2;

    Bundle autoMatchCriteria = TurnBasedMatchConfig.createAutoMatchCriteria(minAutoMatchPlayers, maxAutoMatchPlayers, 0);

    TurnBasedMatchConfig curMatch = TurnBasedMatchConfig.builder()
            .setAutoMatchCriteria(autoMatchCriteria)
            .build();

    if (!googleApiClient.isConnected()) {
        Log.d(TAG, "Not connected to google api so unable to create a match");
        return;
    }

    // Attempt creating a match and set this as the callback
    Games.TurnBasedMultiplayer.createMatch(googleApiClient, curMatch).setResultCallback(this, 5, TimeUnit.SECONDS);
}

我在同一个类中实现了ResultCallback<TurnBasedMultiplayer.InitiateMatchResult>,但如上所述永远不会得到任何回调。

public void onResult(TurnBasedMultiplayer.InitiateMatchResult initiateMatchResult) {
    Status status = initiateMatchResult.getStatus();
    Log.d(TAG, "Match creation status " + status);

我不确定如何进一步调试或为什么我没有得到任何回调。我有:

设置我的开发者帐户并添加/启用基于回合制的游戏。该应用程序在Alpha那里。

在清单中设置OAuth密钥和AppId。

使用已签名的APK进行测试。测试了两个不同的谷歌帐户    两个不同的手机。 尝试使用Games.TurnBasedMultiplayer.loadMatchesByStatus(googleApiClient, TurnBasedMatch.MATCH_TURN_STATUS_ALL).setResultCallback(this);但是    它总是返回0个匹配。

有关如何调试此信息的任何信息    非常感谢。

1 个答案:

答案 0 :(得分:1)

您是否尝试添加

实施OnInvitationReceivedListener和OnTurnBasedMatchUpdateReceivedListener

参加你的活动?

另外 在onConnected(Bundle connectionHint)Games.Invitations.registerInvitationListener(mGoogleApiClient,this)和Games.TurnBasedMultiplayer.registerMatchUpdateListener(mGoogleApiClient,this)