私有匹配 API
这是在游戏中应用个人匹配时使用的API。要应用组匹配,请使用组API。
匹配请求
这在开始匹配请求时被调用。与 matchId
对应的匹配必须在 Hive 控制台中预先创建。
请求 URL
实时 URL | https://api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players |
沙盒 URL | https://sandbox-api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players |
HTTP 方法 | POST |
内容类型 | application/json |
头部参数
字段名称 | 描述 | 类型 | 必需 |
授权 | API 调用的身份验证令牌(Bearer) | 字符串 | 是 |
路径参数
字段名称 | 描述 | 类型 | 是否必需 |
gameIndex | 可以在Hive控制台应用中心找到的项目标识符 | int | 是 |
matchId | 在Hive控制台中创建的每个比赛的标识符 | int | 是 |
请求体
字段名称 | 描述 | 类型 | 必填 |
playerId | 账户标识符 | 长整型 | 是 |
point | 这是用于匹配的分数。输入范围是0 ~ 999,999,999 。如果未输入,将处理为0 。 | 整型 | 否 |
extraData | 附加账户信息(昵称、等级、国家等)。最多可以输入256个字符。将包含在匹配结果中。 | 字符串 | 否 |
响应
字段名称 | 描述 |
playerId | 账户标识符 |
matchInfo | 请求的信息 gameIndex : gameIndex 的值 matchId : matchId 的值 |
requestingStatus | 请求状态信息 requested : 匹配请求已成功发出 notRequested : 未发出匹配请求,或匹配已完成且没有进行中的匹配 |
requestingInfo | 请求信息 requestTimeUtc : 基于 UTC+0 的请求时间 point : 请求时输入的point extraData : 请求时输入的extraData |
matchingInfo | 匹配进度信息 (status ) matchingInProgress : 匹配正在进行中 timeout : 匹配未在时间限制内发生 matched : 匹配已完成 |
请求示例
curl --location 'https://sandbox-api-match.withhive.com/gameindexes/1/matchmakings/1/request' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ya3a' \
--data '{
"playerId":100,
"point": 1000
}'
响应示例
{
"playerId": 100,
"matchInfo": {
"gameIndex": 1,
"matchId": 1
},
"requestingStatus": "requested",
"requestingInfo": {
"requestTimeUtc": "2024-06-05T05:09:28.72",
"point": 1000
},
"matchingInfo": {
"status": "matchingInProgress"
}
}
检查匹配状态
正在检查请求的匹配状态。
请求 URL
实时 URL | https://api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players |
沙盒 URL | https://sandbox-api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players |
HTTP 方法 | GET |
头部参数
字段名称 | 描述 | 类型 | 必需 |
授权 | API 调用的身份验证令牌(Bearer) | 字符串 | 是 |
路径参数
字段名称 | 描述 | 类型 | 是否必填 |
gameIndex | 可以在 Hive 控制台应用中心检查的项目标识符 | int | 是 |
matchId | 在 Hive 控制台中创建的每个比赛的标识符 | int | 是 |
查询参数
字段名称 | 描述 | 类型 | 是否必填 |
id | 用户 ID (`playerId`) | 长整型 | 是 |
响应
字段名称 | 描述 |
playerId | 账户标识符 |
matchInfo | 请求的信息 gameIndex : gameIndex 的值 matchId : matchId 的值 |
requestingStatus | 请求状态信息 requested : 匹配请求成功发出 notRequested : 没有发出匹配请求,或者匹配已经完成且没有进行中的匹配 |
requestingInfo | 请求信息 requestTimeUtc : 基于UTC+0的请求时间 point : 请求时输入的point extraData : 请求时输入的extraData |
matchingInfo | 匹配进度信息 (status ) matchingInProgress : 匹配正在进行中 timeout : 在时间限制内未完成匹配 matched : 匹配完成 |
请求示例
curl --location --request GET 'https://sandbox-api-match.withhive.com/gameindexes/1/matchmakings/1/players?id=100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ya3a'
响应示例
当开发者尚未发出匹配请求时,匹配状态结果如下。
{
"playerId": 100,
"matchInfo": {
"gameIndex": 1,
"matchId": 1
},
"requestingStatus": "notRequested"
}
当发出匹配请求 매칭 요청 且匹配仍在进行中时,它返回结果 requested
和 matchingInProgress
。
{
"playerId": 100,
"matchInfo": {
"gameIndex": 1,
"matchId": 1
},
"requestingStatus": "requested",
"requestingInfo": {
"requestTimeUtc": "2024-06-05T05:09:28.72",
"point": 1000
},
"matchingInfo": {
"status": "matchingInProgress"
}
}
在匹配完成后检查请求状态时,它返回matched
或timeout
的结果。这是匹配完成后但在接收匹配结果回调之前的状态。
{
"playerId": 100,
"matchInfo": {
"gameIndex": 1,
"matchId": 1
},
"requestingStatus": "requested",
"requestingInfo": {
"requestTimeUtc": "2024-06-05T05:09:28.72",
"point": 1000
},
"matchingInfo": {
"status": "matched"
}
}
当匹配完成后,Hive 服务器将 作为回调发送匹配结果 到开发者的服务器。在开发者的服务器收到匹配结果回调并返回 HTTP 状态 200 响应给 Hive 服务器后,如果再次检查匹配请求状态,它将变为 notRequested
,如下所示,并且 matchingInfo
键将被删除。这是因为当 Hive 服务器收到 HTTP 状态 200 作为回调响应时,它确定开发者请求的匹配已完成,并删除相应的匹配请求事务。
{
"playerId": 100,
"matchInfo": {
"gameIndex": 1,
"matchId": 1
},
"requestingStatus": "notRequested"
}
| 匹配请求之前 | 匹配请求之后 | 匹配结果生成之后 | 回调接收之后 |
requestingStatus | 未请求 | 已请求 | 已请求 | 未请求 |
matchingInfo > Status | 不适用 | 匹配进行中 | 已匹配或超时 | 不适用 |
备注 | | 在匹配进行中的时候 | 在回调接收之前 | |
取消匹配请求
取消匹配请求。如果您取消匹配请求,Hive 服务器中的匹配请求事务将被删除。
如果匹配请求在 请求匹配 之后完成,并且在对 匹配结果回调 的响应中发送了 HTTP 状态 200,Hive 服务器将内部视为匹配已完成,并删除相应的匹配请求事务。在这种状态下,即使调用了匹配请求的取消,匹配请求事务也已被删除,因此取消请求将不会被执行,也不会单独返回任何异常。
请求 URL
实时 URL | https://api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players/{playerId} |
沙盒 URL | https://sandbox-api-match.withhive.com/gameindexes/{gameIndex}/matchmakings/{matchId}/players/{playerId} |
HTTP 方法 | DELETE |
头部参数
字段名称 | 描述 | 类型 | 是否必需 |
授权 | API 调用的身份验证令牌(Bearer) | 字符串 | 是 |
路径参数
字段名称 | 描述 | 类型 | 必需 |
gameIndex | 可以在 Hive 控制台应用中心检查的项目标识符 | int | 是 |
matchId | 在 Hive 控制台中创建的每场比赛的标识符 | int | 是 |
playerId | 用户 ID | long | 是 |
响应
在200 OK
的情况下,主体数据是空的。
请求示例
curl --location --request DELETE 'https://sandbox-api-match.withhive.com/gameindexes/1/matchmakings/1/players/100' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJIaXZlIiwiaWF0IjoxNzAyNDU4MTkzLCJqdGkiOiIxMzY2NDk4MjcxIn0.VSwvsTE-tS0sL_e9p9gNvHRkMCbsycSO4ObE4J2ya3a'
响应示例
成功处理后没有特殊的响应内容。