背景:我有一个工作游戏,用户可以通过谷歌的标准界面开始匹配。2-4名球员运作良好。
我已经创建了一个自定义界面,玩家可以连接为“朋友”,并从该界面开始匹配。
问题:当我为2台播放器手动调用Games.TurnBasedMultiplayer.createMatch时,它大部分时间都能工作。函数在onSignInSucceeded的末尾调用。(我希望在onActivityResult中调用它(默认接口是这样的),但是我没有连接.)
当我给3-4个玩家打电话的时候,它从来都不起作用。回调返回GamesStatusCodes.STATUS_NETWORK_ERROR_OPERATION_FAILED.
观察似乎也因人Goolge It的不同而不同,有些以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);
}
});其中我的受邀者是一个ArrayList,上面有我对手的GoogleID
<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"/>编辑:做了一些较小的改变,但总的来说,我也有相同的行为。有时游戏开始(最多有4名玩家),但它似乎更喜欢以“G”开头的it .
发布于 2016-09-06 18:39:36
因此,在将启动匹配的请求转移到onSignInSucceeded()之后,谷歌似乎已经对我从玩家那里提取的GoogleID做了些什么。使用G开始使用ID的较新用户(以及许多数字)似乎可以工作,但不能将旧的一次(不以G开头)和新的混合使用。
https://stackoverflow.com/questions/38975730
复制相似问题