上报弹幕游戏信息
描述
通过本回调,您可在弹幕游戏开始、弹幕游戏结算时收到具体的事件通知。
回调说明
- 请求方法:POST。
- 请求地址:请联系 ZEGO 技术支持配置回调地址。
- 传输协议:HTTPS。
请求参数
公共参数 | 类型 | 描述 |
---|---|---|
AppId | Int64 | App 的唯一标识。 |
SignatureNonce | String | 随机数。 |
Timestamp | Int64 | Unix 时间戳,单位为秒。 |
Signature | String | 签名。 |
业务参数 | 类型 | 描述 |
GameSource | String | 游戏源,固定为 "zego"。 |
ReportId | String | 由 ZEGO 生成,同一个 MiniGameId 下唯一回调 ID。 |
ReportType | Int | 上报信息类型:
|
MiniGameId | String | 游戏 ID。 |
RoomId | String | 游戏房间 ID。 |
AnchorId | String | 游戏房间的房主(主播)ID。 |
RoundId | String | 游戏对局标识,由 ZEGO 服务端生成,同一个 MiniGameId 下唯一。 |
ReportTime | Int64 | 事件发生时间,Unix 时间戳,单位:毫秒。 |
DanmakuResult | Object | 游戏结算信息。仅在游戏结算时上报。详细请参考 DanmakuResult 参数说明 |
DanmakuResult 参数说明:
业务参数 | 类型 | 描述 |
---|---|---|
WinTeam | Int | 弹幕游戏获胜队伍。 |
ResultType | Int | 结算类型:
|
UserSize | Int | 参与用户数。 |
ExtraData | String | 额外 JSON 数据。 |
回调示例
Untitled
{
"AppId":1234567890,
"SignatureNonce":"15215528852396",
"Timestamp":1234567890,
"Signature":"Pc5WB8gokVn0xfeu%2FZV%2BiNM1dgI%3D",
"GameSource":"zego",
"ReportId":"jjjjjj",
"MiniGameId":"aaaaaa",
"ReportType":2,
"RoomId":"abcd",
"AnchorId":"user111",
"RoundId":"xxx",
"ReportTime":1662365592,
"DanmakuResult":{
"WinTeam":"1",
"ResultType":1,
"UserSize":10,
"ExtraData":""
}
}
1
验证签名
为提高数据安全性,建议开发者在收到 ZEGO 服务端发出的回调时,进行本地签名计算,并与 signature 进行对比,判断该请求是否合法。
校验的使用流程如下:
1
对参数进行排序
将 callbacksecret
、timestamp
、nonce
三个参数按照字典序进行排序
2
计算 SHA1
将排序后的 callbacksecret
、timestamp
、nonce
拼接成一个字符串并进行sha1计算
3
校验 signature
将计算后的哈希字符串与 signature
进行校验对比,如果相同则标识该请求来源于 ZEGO
参数说明如下:
参数 | 说明 |
---|---|
callbacksecret | 服务端校验密钥。在 ZEGO 控制台 注册项目时生成,可在 “控制台 > 项目配置 > 项目信息 > 配置信息” 中查看。 |
timestamp | Unix 时间戳。 |
nonce | 随机数。 |
响应参数
当您收到此回调后,请响应,参数如下表所示:
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
Code | Int64 | 是 | HTTP 状态码。
|
Message | String | 否 | 响应描述。 |
响应示例
Untitled
{
"Code": 200,
"Message": "succeed"
}
1