qq.setUserCloudStorage

qq.setUserCloudStorage(Object object)

对用户托管数据进行写数据操作。允许同时写多组 KV 数据。

参数

Object object
属性 类型 默认值 必填 说明
KVDataList Array.<KVData> 要修改的 KV 数据列表
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

托管数据的限制

  1. 每个openid所标识的QQ用户在每个游戏上托管的数据不能超过128个key-value对。
  2. 上报的key-value列表当中每一项的key+value长度都不能超过1K(1024)字节。
  3. 上报的key-value列表当中每一个key长度都不能超过128字节。

qq.removeUserCloudStorage

qq.removeUserCloudStorage(Object object)

删除用户托管数据当中对应 key 的数据。

参数

Object object
属性 类型 默认值 必填 说明
keyList Array.<string> 要删除掉 key 列表
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

qq.getUserCloudStorage

qq.getUserCloudStorage(Object object)

获取当前用户托管数据当中对应 key 的数据。该接口只可在开放数据域下使用

参数

Object object
属性 类型 默认值 必填 说明
keyList Array.<string> 要获取的 key 列表
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
object.success 回调函数

参数

Object res

属性 类型 说明
KVDataList Array.<KVData> 用户托管的 KV 数据列表

qq.getSharedCanvas

Canvas qq.getSharedCanvas()

获取主域和开放数据域共享的 sharedCanvas。只有开放数据域能调用。

返回值

Canvas

qq.getGroupCloudStorage

qq.getGroupCloudStorage(Object object)

获取群同玩成员的游戏数据。小游戏通过群分享卡片打开的情况下才可以调用。该接口只可在开放数据域下使用

参数

Object object
属性 类型 默认值 必填 说明
shareTicket string 群分享对应的 shareTicket
keyList Array.<string> 要拉取的 key 列表
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
object.success 回调函数

参数

Object res

属性 类型 说明
data Array.<UserGameData> 群同玩成员的托管数据

qq.getFriendCloudStorage

qq.getFriendCloudStorage(Object object)

拉取当前用户所有同玩好友的托管数据。该接口只可在开放数据域下使用

参数

Object object
属性 类型 默认值 必填 说明
keyList Array.<string> 要拉取的 key 列表
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
object.success 回调函数

参数

Object res

属性 类型 说明
data Array.<UserGameData> 同玩好友的托管数据

UserGameData

托管数据

属性

string avatarUrl

用户的QQ头像 url

string nickname

用户的QQ昵称

string openid

用户的 openid

Array.<KVData> KVDataList

用户的托管 KV 数据列表

KVData

托管的 KV 数据

属性

string key

数据的 key

string value

数据的 value

举例1

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

在玩家耗时36500ms后,获得本周最高分16分,则需要更新分数,假设当前时间戳为1513080573, 则完整 value在序列化之前的内容如下:

{
  "qqgame": {
    "score": 16,
    "update_time": 1513080573
  },
  "cost_ms": 36500
}
1
2
3
4
5
6
7

最终序列化为string后,value为"{"qqgame":{"score":16,"update_time": 1513080573},"cost_ms":36500}"。

举例2

比如要在手Q下拉或游戏中心的好友PK王等处展示排行榜(与举例1中游戏内的排行榜不同),value 值直接传string类型的分数,战力或关卡等数字即可。

OpenDataContext-qq.getUserInfo

qq.getUserInfo(Object object)

在无须用户授权的情况下,批量获取用户信息。该接口只在开放数据域下可用

参数

Object object
属性 类型 默认值 必填 说明
openIdList Array.<string> [] 要获取信息的用户的 openId 数组,如果要获取当前用户信息,则将数组中的一个元素设为 'selfOpenId'
lang string en 显示用户信息的语言
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.lang 的合法值

说明
en 英文
zh_CN 简体中文
zh_TW 繁体中文
object.success 回调函数

参数

Object res

属性 类型 说明
data Array.<Object> 用户信息列表

res.data 的结构

属性 类型 说明
avatarUrl string 用户头像图片 url
city string 用户所在城市
country string 用户所在国家
gender number 用户性别
language string 显示 country province city 所用的语言
nickName string 用户昵称
openId string 用户 openId
province string 用户所在省份

示例代码

获取当前用户和其他几个用户的用户信息

qq.getUserInfo({
  openIdList: ['selfOpenId', 'ownAP0b9qt6AzvYOSWOX8VX8KMq0', 'ownAP0QJHIN2w3X60EUsj2Vah5Ig', 'ownAP0f8ANWUCcloXN1oZPfxtz0g'],
  lang: 'zh_CN',
  success: (res) => {
    console.log('success', res.data)
  },
  fail: (res) => {
    reject(res)
  }
})
1
2
3
4
5
6
7
8
9
10