用户战绩与排行榜收藏我的收藏
收藏
我的收藏用户战绩与排行榜开通文档参考:https://developer.open-douyin.com/docs/resource/zh-CN/interaction/jierushuoming/hudongshuju/liwushuju
注意
- •本部分内容包括用户对局战绩和对局排行榜数据,暂不支持世界排行榜榜单数据。
- •本页面用户战绩与排行榜为纯客户端 SDK 接口支持,不需要抖音云或者服务端支持。
同步对局状态 【参考礼物进阶互动】
上报用户对局数据
对局结束后,上报用户对局数据,分批次上报,单批次最多上报50个用户对局数据。
本接口和【上报对局榜单列表】接口逻辑是不一样的。
- •【上报对局榜单列表】接口是一次性上传排好序的榜单Top 150的用户数据,数据直接展示在小摇杆的「对局榜」的榜单中,平台不做特殊处理,直接展示;底层是以
room_id + round_id
为维度存储,room_id + round_id
维度重复上报,是覆盖写的逻辑;- •本接口是上传所有参与本局玩法并且有战绩的用户数据,批量上报,底层是以
用户id+room_id+round_id
为维度存储,用户id+room_id+round_id
维度重复上报,是覆盖写的逻辑;【上报对局榜单列表】接口上传了榜单Top 150的用户数据
【上报用户对局数据】接口依然需要再次上报Top 150的用户数据,同时也用于上报Top 150 以外的用户数据。
// 上报用户对局数据 var res = await sdk.GetRoundApi().UpdateUserRoundListInfoAsync(RoundTestRequest);
调用参数:
参数类 | 属性字段 | | 说明 |
IUserRoundData | long RoundId | | 对局 ID,同一个直播间 RoomID 下,RoundId 需要是递增的 |
| List<IUserRoundInfo> RoundInfos | | 用户对局数据列表 |
| | string OpenId | 用户 OpenId |
| | long Rank | 用户排名; 超过1000的,可以固定传递1000,抖音端会展示为 "999+" |
| | int RoundResult | 对局结果(1=胜利、2=失败、3=平局) |
| | long Score | 核心数值,用户排名的依据 |
| | long WinPoints | 用户的胜点,如果没有胜点记录传 0 |
| | int WinStreakCount | 用户的连胜次数,如果没有连胜记录传0 |
| | string GroupId | 阵营 ID,取值来源来自开发者平台「进阶礼物配置」的 group_id,如:red |
返回说明:
返回类 | 属性 | 说明 |
IRoundDataRes | string ErrMsg | 错误描述,当 ErrCode 为 0 时 ErrMsg 为 “” |
| long ErrCode | 错误码,0 代表成功 |
上报对局榜单列表
对局结束后,上报对局榜单列表,榜单列表是指Top 150 的用户数据。如果接口调用的列表长度为 20,则表示榜单列表只展示Top 20的用户数据。
当对局结束后,调用一次,一次性上报对局榜单Top 150,如果调用第二次,第一次的数据会被覆盖,因为底层是以
room_id + round_id
为维度存储,room_id + round_id
维度重复调用上报,是覆盖写的逻辑;
// 上报对局榜单 var res = await sdk.GetRoundApi().UpdateRoundRankListInfoAsync(_roundRankData);
调用参数:
参数类 | | 属性字段 | 说明 |
IRoundRankData | long RoundId | | 对局 ID,同一个直播间 RoomID 下,RoundId 需要是递增的 |
| List<IUserRoundInfo> RankInfos | | 对局榜单列表,内容同用户对局数据列表,不过是按照 Score 排序的 |
| | string OpenId | 用户 OpenId |
| | long Rank | 用户排名; 超过1000的,可以固定传递1000,抖音端会展示为 "999+" |
| | int RoundResult | 对局结果(1=胜利、2=失败、3=平局) |
| | long Score | 核心数值,用户排名的依据 |
| | long WinPoints | 用户的胜点,如果没有胜点记录传 0 |
| | int WinStreakCount | 用户的连胜次数,如果没有连胜记录传0 |
| | string GroupId | 阵 营 ID,取值来源来自开发者平台「进阶礼物配置」的 group_id,如:red |
返回说明:
返回类 | 属性 | 说明 |
IRoundDataRes | string ErrMsg | 错误描述,当 ErrCode 为 0 时 ErrMsg 为 “” |
| long ErrCode | 错误码,0 代表成功 |
完成用户对局数据上报
当完成用户对局数据上报后,调用本接口,标记对局数据上报已完成,小摇杆的「本局榜」将展示本局榜单数据。
未标记完成,本轮对局数据在小摇杆的「本局榜」中不展示。
// 完成对局数据上报 var res = await sdk.GetRoundApi().UpdateRoundResultInfoAsync(_roundResultInfo);
调用参数:
参数类 | 属性字段 | 说明 |
IRoundResultInfo | long RoundId | 对局 ID,同一个直播间 RoomID 下,RoundId 需要是递增的 |
| long CompleteTime | 完成时间,秒级时间戳 |
返回说明:
返回类 | 属性 | 说明 |
IRoundDataRes | string ErrMsg | 错误描述,当 ErrCode 为 0 时 ErrMsg 为 “” |
| long ErrCode | 错误码,0 代表成功 |
错误码
错误码 | 错误码描述 | 排查建议 |
40001 | 参数错误 | 请求体中的必传参数是否都上传 |
4014034 | 请求过于频繁 | 接口有频控限制,建议降低请求的并发量 |
40004 | token 过期 | 重新请求 |