tt.setImRankData
收藏
我的收藏基础库 2.70.0 开始支持本方法,抖音&抖 lite 23.2.0 版本后支持。,这是一个异步方法。
在关键的游戏场景,设置写入用户的排行榜数据(游戏成绩信息),该数据会上传到服务端。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | 字段解释 |
相关教程 | 无 |
语法
tt.setImRankData(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
extra | string | 否 | 预留字段 | 2.70.0 | |
priority | number | 0 | 否 | 用于判断权重 ,仅当 dataType 为 1 时需要,不传则使用默认值 0。如传入 value 为'白银',priority 为 2,则白银的权重为 2,传入value 为 '黄金',priority 为 3,则黄金的权重为3,高于白银,届时生成的榜单,黄金段位会排在白银前面 | 2.70.0 |
zoneId | string | default | 否 | 排行榜分区标识,取值可以是 'default' 或 'test' 或其他开发者自定义的分区标识,'default' 表示为默认的线上分区,'test' 表示测试分区。不同分区的排行榜数据存在数据隔离,如 zoneId='test' 设置的数据不会影响通过 zoneId='default' 的排行榜,可用于测试环境。目前每个小游戏除了 default 和 test, 最多可支持 10 个分区 | 3.5.0 |
value | string | 是 | 展示出来的数值,dataType 为 0 时只能传正数的字符串 (如'103', '105'),且取值范围为 [0, int32_MAX),否则会报错。 dataType 为 1 时,则可传入任意字符串(eg:'青铜'、'白银') | 2.70.0 | |
dataType | number | 是 | 可选值: 0 或 1 0 表示数据为数字类型,往往适用于游戏的通关分数(如 103分、105分); 1 表示数据为字符串类型,适用于段位信息(如 '青铜'、'白银') | 2.70.0 | |
success | function | 否 | 接口调用成功的回调函数 | 2.70.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 2.70.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 2.70.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "setImRankData:ok" | 2.70.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "setImRankData:fail" + 详细错误信息 | 2.70.0 |
错误码
errorCode | errMsg | errorType | 说明 | 最低支持版本 |
---|---|---|---|---|
999999 | invalid param | D | 参数错误 | 2.70.0 |
107901 | 暂不支持该能力 | I | 2.70.0 | |
107903 | zone num exceeds limit | D | 2.70.0 | |
999996 | user not login | D | 2.70.0 | |
107901 | /s | F | 小游戏框架内部错误,有需要请创建工单咨询 | 2.70.0 |
107902 | internal error | F | 小游戏框架内部错误,有需要请创建工单咨询 | 2.70.0 |
999993 | internal error | F | 小游戏框架内部错误,有需要请创建工单咨询 | 2.70.0 |
999987 | feature is not supported in app setRankData | D | 2.70.0 | |
999996 | not login | D | 2.70.0 |
代码示例
【代码示例1】一个跑酷游戏,想要对用户的跑酷分数做排序
tt.setImRankData({ dataType: 0, //成绩为数字类型 value: "999999", //该用户得了999999分 priority: 0, //dataType为数字类型,不需要权重,直接传0 extra: "extra", zoneId: 'test', success(res) { console.log(`setImRankData success res: ${res}`); }, fail(res) { console.log(`setImRankData fail res: ${res.errMsg}`); }, });
【代码示例2】一个moba游戏,想要对用户的段位进行排序
tt.setImRankData({ dataType: 1, //成绩为枚举类型,因为段位不是一个数字 value: "秩序白银", //该用户段位为白银 priority: 2, //dataType为 1,需要权重,该游戏排序为 青铜(1)、白银(2)、黄金(3)、王者(4),因此此处传2 extra: "extra", zoneId: "default", success(res) { console.log(`setImRankData success res: ${res}`); }, fail(res) { console.log(`setImRankData fail res: ${res.errMsg}`); }, });
点击纠错