跳转至

私有匹配 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"
}


当发出匹配请求 매칭 요청 且匹配仍在进行中时,它返回结果 requestedmatchingInProgress

{
   "playerId": 100,
   "matchInfo": {
       "gameIndex": 1,
       "matchId": 1
   },
   "requestingStatus": "requested",
   "requestingInfo": {
       "requestTimeUtc": "2024-06-05T05:09:28.72",
       "point": 1000
   },
   "matchingInfo": {
       "status": "matchingInProgress"
   }
}


在匹配完成后检查请求状态时,它返回matchedtimeout的结果。这是匹配完成后但在接收匹配结果回调之前的状态。

    {
       "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'

响应示例

成功处理后没有特殊的响应内容。