qq.setUserCloudStorage
qq.setUserCloudStorage(Object object)
对用户托管数据进行写数据操作。允许同时写多组 KV 数据。
参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
KVDataList | Array.<KVData> | 是 | 要修改的 KV 数据列表 | |
success | function | 否 | 接口调用成功的回调函数 | |
fail | function | 否 | 接口调用失败的回调函数 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
托管数据的限制
- 每个openid所标识的QQ用户在每个游戏上托管的数据不能超过128个key-value对。
- 上报的key-value列表当中每一项的key+value长度都不能超过1K(1024)字节。
- 上报的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
举例
比如某小游戏有一个分数排行榜,分数排行榜需要记录分数以及获得分数的耗时(游戏内的排行榜需要展示耗时),可以在qqgame
同级别定义一个cost_ms
字段,存储耗时的毫秒数。分配一个不和已定义的托管数据的key相冲突的key作为分数排行榜的key,如 "score"。
在玩家耗时36500ms后,获得本周最高分16分,则需要更新分数,假设当前时间戳为1513080573, 则完整 value在序列化之前的内容如下:
{
"qqgame": {
"score": 16,
"update_time": 1513080573
},
"cost_ms": 36500
}
最终序列化为string后,value为"{"qqgame":{"score":16,"update_time": 1513080573},"cost_ms":36500}"。
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)
}
})