qq.setUserCloudStorage

qq.setUserCloudStorage(Object object)

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

参数

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

托管数据的限制

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

qq.removeUserCloudStorage

qq.removeUserCloudStorage(Object object)

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

参数

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

qq.getUserCloudStorage

qq.getUserCloudStorage(Object object)

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

参数

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

参数

Object res

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

qq.getSharedCanvas

Canvas qq.getSharedCanvas()

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

返回值

Canvas

qq.getGroupCloudStorage

qq.getGroupCloudStorage(Object object)

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

参数

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

参数

Object res

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

qq.getFriendCloudStorage

qq.getFriendCloudStorage(Object object)

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

参数

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

参数

Object res

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

UserGameData

托管数据

属性

string avatarUrl

用户的QQ头像 url

string nickname

用户的QQ昵称

string openid

用户的 openid

Array.<KVData> KVDataList

用户的托管 KV 数据列表

KVData

托管的 KV 数据

属性

string key

数据的 key

string value

数据的 value

举例

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

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

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

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

OpenDataContext-qq.getUserInfo

qq.getUserInfo(Object object)

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

参数

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

object.lang 的合法值

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

参数

Object res

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

res.data 的结构

属性类型说明
avatarUrlstring用户头像图片 url
citystring用户所在城市
countrystring用户所在国家
gendernumber用户性别
languagestring显示 country province city 所用的语言
nickNamestring用户昵称
openIdstring用户 openId
provincestring用户所在省份

示例代码

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

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