gpt4 book ai didi

android - Google Play如何邀请玩家到房间

转载 作者:搜寻专家 更新时间:2023-11-01 08:00:43 25 4
gpt4 key购买 nike

我有这个代码:

RoomConfig.Builder rtmConfigBuilder = makeBasicRoomConfigBuilder();
rtmConfigBuilder.addPlayersToInvite(opponentId);
rtmConfigBuilder.setAutoMatchCriteria(null);
mGamesClient.createRoom(rtmConfigBuilder.build());

但我收到错误代码 6004,即 STATUS_MULTIPLAYER_ERROR_INVALID_OPERATION

此多人游戏操作无效,服务器拒绝了它。查看日志以获取更多信息。

我认为这是因为 addPlayersToInvite 方法,因为我在 android 文档中阅读了以下内容...

public RoomConfig.Builder addPlayersToInvite (String... playerIds)

Add one or more player IDs to invite to the room. This should be set only when calling create(GoogleApiClient, RoomConfig)

Parameters
playerIds One or more player IDs to invite to the room.
Returns
The builder instance.

注意它是怎么说的这应该只在调用 create(GoogleApiClient, RoomConfig) 时设置但我不知道如何调用方法或做什么。

所以我的问题基本上是这样的:我有我邀请的玩家的 ID,现在我想为玩家和我创建一个房间。我该怎么做?

最佳答案

我只是偶然发现了这个,很抱歉把它挖出来,但为了后代:

您不能将 autoMatchCriteria 设置为空:

rtmConfigBuilder.setAutoMatchCriteria(null);

此外,您实际上不能将 minAutoMatchPlayers 或 maxAutoMatchPlayers 设置为 0。

避免这种情况的最佳方法是进行零检查,如果 minAutoMatchPlayers 或 maxAutoMatchPlayers 等于 0,则根本不使用 setAutoMatchCriteria():

final ArrayList<String> invitees = data.getStringArrayListExtra(Games.EXTRA_PLAYER_IDS);
Bundle autoMatchCriteria = null;

int minAutoMatchPlayers = data.getIntExtra(Multiplayer.EXTRA_MIN_AUTOMATCH_PLAYERS, 0);
int maxAutoMatchPlayers = data.getIntExtra(Multiplayer.EXTRA_MAX_AUTOMATCH_PLAYERS, 0);

if (minAutoMatchPlayers > 0) {
autoMatchCriteria = RoomConfig.createAutoMatchCriteria(minAutoMatchPlayers, maxAutoMatchPlayers, 0);
} else {
autoMatchCriteria = null;
}

RoomConfig.Builder roomConfigBuilder = RoomConfig.builder(this);
if (autoMatchCriteria != null) {
roomConfigBuilder.setAutoMatchCriteria(autoMatchCriteria);
}
roomConfigBuilder.addPlayersToInvite(invitees);

关于android - Google Play如何邀请玩家到房间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21655741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com