KVData

托管的 KV 数据

属性

名称 数据类型 描述
key string 数据的 key
value string 数据的 value

设置排行榜

平台提供了挑战排行榜功能,部分宿主APP会在其特有的功能页展示游戏排行数据。开发者若想利用,则需要把排行榜数据存储到对应的 key/value中,一个排行榜数据对应一个key,多个排行榜则多个key。同时在小游戏管理后台“设置-小游戏排行榜设置”下配置对应的key以及相关排行榜属性。且value的内容必须是JSON Object格式序列化的字符串,该JSON Object顶层必须包含 ttgame 字段,定义如下:

属性名 类型 必填 说明
score Int32 游戏成绩,用该字段排序
update_time Int64 最后更新时间,Unix时间戳

注意:

  1. 使用 setUserCloudStorage 接口设置KVData 时,当key 为排行榜key,则 value 结构必须符合以上要求,否则会设置失败

  2. ttgame 下开发者不可自定义其他字段,score 为平台固定使用的排序字段,若开发者想要以某个游戏数据排序,需要将该数据存储在score字段上。 ttgame同级开发者可自由定义,比如定义一个 progress 字段,用于游戏关卡进度。

示例

比如某小游戏有一个分数排行榜,分数排行榜需要记录分数以及获得分数的耗时(游戏内的排行榜需要展示耗时),可以在ttgame同级别定义一个 progress 字段,存储耗时的毫秒数。 分配一个不和已定义的托管数据的key相冲突的key作为分数排行榜的key,如 "score"。

在玩家游戏结束后,闯过第10关,获得本周最高分100分,则需要数据,假设当前时间戳为 1557813466 则完整 value 在序列化之前的内容如下:

{
  "ttgame": {
    "score": 100,
    "update_time": 1557813466
  },
  "progress": 10
}

最终序列化为string后,value 为 "{"ttgame":{"score":100,"update_time": 1557813466},"progress":36500}"