# gamematch.createMatchRule
本接口应在服务器端调用,详细说明参见服务端API。
小游戏创建对局匹配规则,并返回一个matchid。
每个小游戏可以创建多个matchid对应不同的匹配规则。小游戏持有的matchid数量上限为20。
# 请求地址
POST https://api.weixin.qq.com/wxa/business/gamematch/creatematchrule?access_token=ACCESS_TOKEN
# 请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
team_count | number | 是 | 匹配结果中的队伍数量 | |
team_member_count | number | 是 | 匹配结果每个队伍对应的成员数量 | |
need_room_service_info | number | 否 | 是否需要在下发匹配结果时同步创建帧同步房间。0:不需要,1:需要。如果填1,则会在下发对局匹配结果时携带accessInfo,用于加入帧同步房间。 要求team_count * team_member_count 不超过10人才可以使用该项。 | |
game_room_info | Object | 否 | 创建帧同步房间时的房间信息。在need_room_service_info为1时有效。 |
game_room_info 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
game_tick | number | 是 | 后台下发游戏逻辑帧的周期,单位ms,最小不得小于33ms | |
start_percent | number | 是 | 不填或者填0代表微信后台只要收到一次“开始游戏”指令就会开始游戏,否则微信后台会统计发送“开始游戏”指令的玩家数达到规定的百分比后才能启动游戏,填50表征50% | |
udp_reliability_strategy | number | 是 | 使用的UDP可靠性策略,N:固定冗余N帧。建议值:3 | |
need_user_info | bool | 否 | 房间是否需要用户的头像昵称——如果填True,微信后台会去校验用户是否授权该应用获取其头像昵称的权限。如果房间需要头像昵称但是用户未授权,则用户后续加入房间的请求会返回失败;如果need_user_info为False,后续用户的加入房间操作会成功,但微信后台不会在房间信息中下发用户的头像昵称。 | |
game_last_time | number | 否 | 游戏对局时长,单位s,不得超过微信后台最大限制1个小时,如果不填或填0则默认为20分钟 | |
need_game_seed | bool | 否 | 是否需要在创建房间时同时生成一个随机的游戏种子 |
# 返回值
# Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误提示信息 |
match_id | string | 匹配池对应的id,加入匹配时需要携带matchid以加入对应的匹配池 |
errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 请求成功 | |
-1 | 系统繁忙,此时请开发者稍候再试 | |
200000 | 无效的请求数据 | |
500008 | 每个对局需要的玩家数量超过房间服务人数上限 | |
500014 | 小程序拥有的matchid数量超过上限 |
# 调用示例
curl -X POST -d '{"team_count": 2,"team_member_count": 1,"need_room_service_info":1, "game_room_info":{"game_tick": 30, "udp_reliability_strategy": 3,"start_percent": 100, "need_user_info": true, "game_last_time": 1800, "need_game_seed": true}}' https://api.weixin.qq.com/wxa/business/gamematch/creatematchrule?access_token=ACCESS_TOKEN
# 返回结果示例
{
"errcode": 0,
"errmsg":"ok",
"match_id":"FD0PT4rKguEdK-L83RaJgdbchUCW8wjhSwgCku4CLQk"
}