我一直在按照指南将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个匹配。
有关如何调试此信息的任何信息 非常感谢。
答案 0 :(得分:1)
您是否尝试添加
实施OnInvitationReceivedListener和OnTurnBasedMatchUpdateReceivedListener
参加你的活动?
另外 在onConnected(Bundle connectionHint)Games.Invitations.registerInvitationListener(mGoogleApiClient,this)和Games.TurnBasedMultiplayer.registerMatchUpdateListener(mGoogleApiClient,this)