我正在開發我的第一款Android應用程序,這是一款基本的棋盤遊戲,我正在執行基於回合制多人遊戲的Google Play遊戲服務。我可以從一臺設備開始匹配,在另一臺設備上接收通知(通過Play遊戲應用/通知)並接受邀請。我可以在沒有任何問題的情況下在接收設備上播放第一個回合,並在設備上顯示匹配是從哪個設備創建的。但是,當我從設備開始下一個回合時,創建了匹配,它不會顯示在接收設備上。OnTurnBasedMatchReceived未叫
我已經實現了一個OnTurnBasedMatchUpdateReceive偵聽器(OnTurnBasedMatchReceived),它會在第一個設備上調用,但不會在第二個設備上進行更新時調用。
@Override
public void onConnected(Bundle connectionHint) {
Games.TurnBasedMultiplayer.registerMatchUpdateListener(mGoogleApiClient, this);
}
和監聽:監聽器獲取的onConnected方法註冊
@Override
public void onTurnBasedMatchReceived(TurnBasedMatch match) {
byte[] data = match.getData();
...
}
有沒有什麼辦法來檢查與調試器或任何其他的工具,如果聽者正確註冊?如果我在Play遊戲應用程序中檢查通知,它會說我輪到了,所以操作系統正在接收它們,但它不會通過我的應用程序。
在onTurnBasedMatchReceived頂部添加一個日誌標記以查看它是否到達那裏,或者如果代碼中存在錯誤的東西 – Zoe
所以我添加了日誌記錄,並且它在應該被調用時不會出現在日誌中,所以我認爲這意味着它永遠不會被調用。 – delta772er
查看GPGS多人模式的[轉彎](https://developers.google.com/games/services/android/turnbasedMultiplayer#taking_a_turn)指南。要實現這個功能,您可能需要將[OnTurnBasedMatchUpdateReceivedListener](https://developer.android.com/reference/com/google/android/gms/games/multiplayer/turnbased/OnTurnBasedMatchUpdateReceivedListener.html)附加到您的活動中。 – noogui