1v1PK邀请
4.4.1、介绍
平台PK功能中引入了弹幕玩法的推荐引导能力,本文主要介绍弹幕玩法如何申请接入和开发对接。
4.4.2、接入审核
联系平台管理员提交申请资料进行审核,审核通过后进行开发对接和联调测试。
微信号:w13570582665
邮箱:hy-ext@huya.com
4.4.3、开发对接
4.4.3.1、流程图
4.4.3.2、1v1PK邀请查询接口
接口调用说明
http请求方式:GET
https://apiext.huya.com/pkgame/queryInviteInfo
接口鉴权
小程序API是为开发者提供的面向小程序应用场景的API,由开发者的小程序后台服务发起调用。小程序API的通信方式为HTTPS。
生成签名
按照统一鉴权说明生成对应的鉴权sToken(即JWT token)
注意:其中Payload需要做以下调整:
payload参数:
| 参数名称 | 类型 | 备注 |
|---|---|---|
| iat | number | token生成时间戳(秒) |
| exp | number | 过期时间戳(秒) |
| appId | string | 开发者appid 如何查找 |
| extUuid | string | 小程序id 如何查找 |
| profileId | string | 主播unionId 如何获取 |
| roomId | string | 主播房间号 如何获取 |
payload样例
{
"iat": 1555921691,
"exp": 1555928891,
"appId": "appId",
"extUuid": "extUuid",
"profileId": "unImSOHlQBsY",
"roomId": "1134"
}
发送请求
- 通过https方式发送请求
- 上面生成的签名通过设置http Header参数authorization进行传输
Header参数:
| 参数名称 | 类型 | 备注 |
|---|---|---|
| authorization | string | 请求的签名凭证 |
get参数
| 参数名称 | 类型 | 备注 |
|---|---|---|
| appId | string | 必填,开发者appId 如何查找 |
| extUuid | string | 必填,小程序id 如何查找 |
HTTP响应
| 参数名称 | 类型 | 备注 |
|---|---|---|
| code | int | 业务状态码 通用业务状态码说明 |
| msg | string | 响应描述 |
| response | string | json格式,响应数据 |
data数据说明
{
"code": 0,
"msg": "成功",
"response": {
"inviteId": "1283921077130494123", // 邀请id
"extUuid": "abcdefg", // 被邀请的游戏小程序uuid
"inviteState": 2, // 邀请状态:0-未邀请、1-邀请中,尚未同意、2-同意、3-拒绝、99-邀请失效
"remainTime": 48, // 邀请倒计时
"inviteTime": 1699327319, // 邀请时间
"inviterInfo": {
"nickName": "邀请方昵称",
"avatarUrl": "https://huyaimg.msstatic.com/avatar/1057/1e/d8ab535bcaf54ad16170c95b4dd123_180_135.jpg",
"unionId": "unEhA37DciFnYYN5QUt5VxFZOu8oabcdef",
"roomId": 123456
},
"inviteeInfo": {
"nickName": "被邀请方昵称",
"avatarUrl": "https://huyaimg.msstatic.com/avatar/1071/18/fa6d39038c33ccc522515a16687321_180_135.jpg",
"unionId": "unv3DDBOXyS2pqTzJYQ4YMt6I81Easdqwe",
"roomId": 456789
}
}
}
通用业务状态码说明
| 参数名称 | 备注 |
|---|---|
| 0 | 成功 |
| 1 | 参数错误 |
| 2 | 调用失败 |
| 3 | 服务器异常 |
4.4.3.3、监听邀请信息接口
使用小程序基础库中的hyExt.pk中的以下方法做相关的邀请消息监听:
- 监听邀请消息(hyExt.pk.onInviteMessage)
- 取消监听邀请消息(hyExt.pk.offInviteMessage)
说明:
- 注册监控后,可以在这三个时间节点(PkInvite-发起邀请;PkResponseInvite-接受/拒绝邀请;PKInviteTimeout-邀请结束,60s过期),接受到对应的消息事件
- 业务方可针对不同的事件消息做对应的业务处理操作
4.4.3.4、场景白板布局接口
使用小程序基础库中的hyExt.stream中的以下方法做相关的白板布局:
- 开启场景白板布局(hyExt.stream.startSceneLayout)
- 结束场景白板布局(hyExt.stream.stopSceneLayout)
说明:
- 目前该接口只支持1v1的模式场景布局,sence类型:onePkMode
- 开启场景布局后,会自动将双方的摄像头图层放置到对应的位置,所以业务制作1v1PK时,UI布局尽量腾空这块位置,防止遮挡