ここでは、TurnBased MultiplayerをAndroidゲームに追加するためのガイドに従っています。 https://developers.google.com/games/services/android/turnbasedMultiplayer#before_you_begin。私はすべてをコード化し、ユーザーがGoogle Playのサービスにログインできるようにしています。 BaseGameUtilsを使用して、以下の関数を使って試合を作成しようとしましたが、タイムアウト以外のコールバックを受け取ることはありません。Android TurnBasedMutliplayerコールバックなし
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でテスト済みです。 2つの異なる携帯電話 の2つの異なるGoogleアカウントでテストされています。 Games.TurnBasedMultiplayer.loadMatchesByStatus(googleApiClient, TurnBasedMatch.MATCH_TURN_STATUS_ALL).setResultCallback(this);
を使用しようとしましたが、 は常に0の一致を返します。
これをデバッグする方法についての詳細は、さらに をご覧ください。
でご提案のいくつかを試した後、私は私がいくつかの問題を持っていることがわかりました私のapp/client IDをリンクしてくれてありがとう! '04-25 20:27:20.826 11780-12038 /? E/Volley:[6295] BasicNetwork.performRequest:https://www.googleapis.com/games/v1/turnbasedmatches/create?language=en_USの予期しない応答コード401 04-25 20:27:20.889 11780-6958/? E/DataHolderOperation:このクライアントIDに関連付けられたリンクされたアプリはありません。 – Simon17