数据分组实现游戏排行
收藏
我的收藏使用步骤说明
- 1.
- 2.设置用户分组
- •设置用户分组接口文档:tt.setUserGroup
- 3.完成规范格式的后台数据上报
- •上报接口文档地址:tt.setUserCloudStorage
- 4.开发者在业务代码中获取数据
获取排行榜数据接口文档: tt.getCloudStorageByRelation
示例
下面以一个通过数据分组完成游戏排行榜功能的例子做代码解释
- 1.设置在排行榜功能设置标识。
groupId
的生成完全由开发者决定,需结合开发者自身策略来确保其唯一性。该步骤必须确保是在上报游戏数据前执行,若在上报数据结果后执行,上报的结果将无法同步更新排行榜数据。
tt.setUserGroup({ groupId: "test_group", });
- 2.按照规范上报游戏数据。
const data = { ttgame: { //这里对象里面的score 和 update_time 两个key都是固定的。 score: 16, update_time: +new Date(), }, cost_ms: 36500, }; tt.setUserCloudStorage({ KVDataList: [ // 这里key 需要在开发者后台配置,且配置为排行榜标识后,data 结构必须符合要求,否则会 set 失败 { key: "userrank", value: JSON.stringify(data) }, ], });
- 3.获取用户排行榜数据
tt.getCloudStorageByRelation({ type: "group", keyList: ["userrank"], extra: { sortKey: "userrank", // 指定的key需要在后台配置过 groupId: "test_group", // 指定要获取的用户所属分组 }, success(res) { console.log(res); }, fail(e) { console.log("获取数据失败"); }, });
Bug & Tip
- •Tip: 数据分组的接口只能在开放数据域中使用,并且需要在调用前保证用户在主域中已经登录。