背景: 我有一個工作遊戲,用戶可以通過Google的標準界面開始比賽。 2-4名球員工作正常。手動啓動turnbasedgame多人遊戲,Android
我已經創建了一個自定義界面,玩家可以作爲「朋友」進行連接,並從該界面開始匹配。
Issue: 當我爲2名玩家手動調用Games.TurnBasedMultiplayer.createMatch時,它大部分時間都有效。 函數在onSignInSucceeded結尾處調用。 (我會優先在onActivityResult中調用這個(作爲默認界面),但然後我沒有連接...)
當我爲3-4名玩家打電話時,它永遠不會工作。 回調函數返回GamesStatusCodes.STATUS_NETWORK_ERROR_OPERATION_FAILED。
觀察它似乎也取決於人Goolge ID,有些以G開頭,後面跟着數字,有些只有數字(不以G開頭)。
public void onSignInSucceeded() {
....
TurnBasedMatchConfig tbmc = TurnBasedMatchConfig.builder().addInvitedPlayers(myinvitees).setAutoMatchCriteria(autoMatchCriteria).build();
Games.TurnBasedMultiplayer.createMatch(getApiClient(), tbmc).setResultCallback(new ResultCallback<TurnBasedMultiplayer.InitiateMatchResult>() {
@Override
public void onResult(TurnBasedMultiplayer.InitiateMatchResult result) {
processResult(result);
}
});
凡myinvitees是一個ArrayList與我的對手
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
編輯的GoogleIDs: 做了一些小的變化,但總的來說,我有相同的行爲。 有些時候比賽開始(最多4名球員),但它似乎更喜歡以「G」開頭的ID ...
難道是onSignInSucceeded不等於實際連接到互聯網?任何想法,我應該稱之爲開始匹配功能? – Mathoa
[STATUS_NETWORK_ERROR_OPERATION_FAILED](https://developers.google.com/android/reference/com/google/android/gms/games/GamesStatusCodes#STATUS_NETWORK_ERROR_OPERATION_FAILED)表示嘗試執行需要網絡的操作時發生網絡錯誤。 所有4名玩家是否都有穩定的網絡連接? – noogui
這是在創建比賽時。所以沒有其他玩家聯繫。 有穩定的連接。這隻發生在我手動啓動它時。通過Google界面,它始終可以工作... – Mathoa