logo
当前页

上报弹幕游戏信息


描述

通过本回调,您可在弹幕游戏开始、弹幕游戏结算时收到具体的事件通知。

回调说明

  • 请求方法:POST。
  • 请求地址:请联系 ZEGO 技术支持配置回调地址。
  • 传输协议:HTTPS。

请求参数

公共参数类型描述
AppIdInt64App 的唯一标识。
SignatureNonceString随机数。
TimestampInt64Unix 时间戳,单位为秒。
SignatureString签名。
业务参数类型描述
GameSourceString游戏源,固定为 "zego"。
ReportIdString由 ZEGO 生成,同一个 MiniGameId 下唯一回调 ID。
ReportTypeInt上报信息类型:
  • 1:游戏开始。
  • 2:游戏结算。
MiniGameIdString游戏 ID。
RoomIdString游戏房间 ID。
AnchorIdString游戏房间的房主(主播)ID。
RoundIdString游戏对局标识,由 ZEGO 服务端生成,同一个 MiniGameId 下唯一。
ReportTimeInt64事件发生时间,Unix 时间戳,单位:毫秒。
DanmakuResultObject游戏结算信息。仅在游戏结算时上报。详细请参考 DanmakuResult 参数说明

DanmakuResult 参数说明:

业务参数类型描述
WinTeamInt弹幕游戏获胜队伍。
ResultTypeInt结算类型:
  • 0:正常结束。
  • 1:主播主动结束。
  • 2:超时结束。
  • 3:逃跑。
  • 4:游戏被强制关闭。
  • 5:游戏发生异常并结束。
UserSizeInt参与用户数。
ExtraDataString额外 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
Copied!

验证签名

为提高数据安全性,建议开发者在收到 ZEGO 服务端发出的回调时,进行本地签名计算,并与 signature 进行对比,判断该请求是否合法。

校验的使用流程如下:

1
对参数进行排序

callbacksecrettimestampnonce 三个参数按照字典序进行排序

2
计算 SHA1

将排序后的 callbacksecrettimestampnonce 拼接成一个字符串并进行sha1计算

3
校验 signature

将计算后的哈希字符串与 signature 进行校验对比,如果相同则标识该请求来源于 ZEGO

参数说明如下:

参数说明
callbacksecret服务端校验密钥。在 ZEGO 控制台 注册项目时生成,可在 “控制台 > 项目配置 > 项目信息 > 配置信息” 中查看。
timestampUnix 时间戳。
nonce随机数。

响应参数

当您收到此回调后,请响应,参数如下表所示:

参数类型是否必选描述
CodeInt64HTTP 状态码。
  • 200:接收回调成功。
  • 401、404、500:接收回调失败。
MessageString响应描述。

响应示例

Untitled
{
    "Code": 200,
    "Message": "succeed"
}
1
Copied!

Previous

查询礼物发送结果

Next

返回码