开放数据

swan.getFriendCloudStorage()

获取当前用户双向关注的同玩好友的托管数据,这里的双向关注是指彼此相互关注。该接口只能在开放数据域下调用。

swan.getFriendCloudStorage(opts);

参数值:

属性 类型 默认值 是否必填 描述
opts Object {} 调用该接口时,传入的对象参数
opts.keyList Array.<string> 要获取的托管数据的 key 列表
opts.success function 接口调用成功的回调函数
opts.fail function 接口调用失败的回调函数
opts.complete function 接口调用完成的回调函数(接口调用成功、失败都会执行)

success 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.data Array.<UserGameData> 获取的双向关注同玩好友的托管数据

swan.getSharedCanvas()

获取主域和开放数据域共享的 sharedCanvas,该接口只能在开放数据域下调用。

返回值:

Canvas 对象

swan.getUserCloudStorage()

获取当前用户托管数据(KVData)中对应 key 的数据,该接口只能在开放数据域下调用。

swan.getUserCloudStorage(opts);

参数值:

属性 类型 默认值 是否必填 描述
opts Object 调用该方法时,传入的对象参数
opts.keyList Array.<string> 要获取的托管数据的 key 列表
opts.success function 成功回调函数
opts.fail function 失败回调函数
opts.complete function 接口调用完成的回调函数(接口成功、失败都会执行)

success 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.KVDataList Array.<KVData> 用户托管的 KV 数据列表

fail 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.errMsg string 报错信息

complete 回调函数:

当接口调用成功时,其返回值与 success 回调函数的返回值相同;
当接口调用失败时,其返回值与 fail 回调函数的返回值相同。

示例:

swan.getUserCloudStorage({
    keyList: ['test1'],
    success: res => console.log('接口执行成功', res.KVDataList),
    fail: res => console.log('接口执行失败', res),
    complete: res => console.log('接口执行完成', res)
});

swan.getUserInfo()

注意:请不要将游戏的首帧(首屏)渲染操作放在回调函数中,详情参考: 登录、授权、获取用户信息接口使用规范

该接口只能在开放数据域下调用,通过 swanId 批量获取用户信息,无需用户授权。

swan.getUserInfo(opts);

参数值:

属性 类型 默认值 是否必填 描述
opts Object {} 调用该方法时,要传入的对象参数
opts.swanIdList Array.<string> [] 要获取信息的用户的 swanId 数组,如果要获取当前用户的信息,则将该属性值设为 ['selfSwanId'] 即可
opts.success function 接口调用成功的回调函数
opts.fail function 接口调用失败的回调函数
opts.complete function 接口调用完成的回调函数(接口调用成功、失败都会执行)

success 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.data Array.<Object> 用户信息列表

res.data[0] 的结构:

属性 类型 描述
nickname string 用户名
avatarUrl string 用户头像
gender string 性别

示例:

swan.getUserInfo({
    swanIdList: ['selfSwanId', 'mVMFstGRGOhjaVwejKX6-do0wN'],
    success: res => console.log('success', res.data),
    fail: res => console.log(res)
});

KVData

属性 类型 描述
key string 数据的 key
value string 数据的 value

示例:

[
  {
    key: 'score',
    value: '123'
  },
  {
    key: 'cardId',
    value: '1'
  }
  .....
]

swan.removeUserCloudStorage()

删除当前用户在该小游戏中托管的对应 key 的数据。

swan.removeUserCloudStorage(opts);

参数值:

属性 类型 默认值 是否必填 描述
opts Object {} 调用该方法时,传入的对象参数
opts.keyList Array 要删除的托管数据的 key 列表
opts.success function 接口调用成功的回调函数
opts.fail function 接口调用失败的回调函数
opts.complete function 接口调用完成的回调函数(接口成功、失败都会执行)

success 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.errMsg string 移除数据成功信息

fail 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.errMsg string 报错信息

complete 回调函数:

当接口调用成功时,其返回值与 success 回调函数的返回值相同;
当接口调用失败时,其返回值与 fail 回调函数的返回值相同。

示例:

swan.removeUserCloudStorage({
  keyList: [ "score", "cardId" ],
  success: res => console.log(res),
  fail: res => console.log(res),
  complete: res => console.log(res)
});

swan.setUserCloudStorage()

写入用户托管数据,可以以数组形式传入多个 KVData 数据。

swan.setUserCloudStorage(opts);

参数值:

属性 类型 默认值 是否必填 描述
opts Object {} 调用该方法时,要传入的对象参数
opts.KVDataList Array.<KVData> 要修改的 KVData 数据列表
opts.success function 成功回调函数
opts.fail function 失败回调函数
opts.complete function 接口调用完成的回调函数(接口成功、失败都会执行)

success 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.errMsg string 写入数据成功信息

fail 回调函数:

形如 function (res) {...}, 其中:

属性 类型 描述
res Object 回调函数参数对象
res.errMsg string 报错信息

complete 回调函数:

当接口调用成功时,其返回值与 success 回调函数的返回值相同;
当接口调用失败时,其返回值与 fail 回调函数的返回值相同。

示例:

swan.setUserCloudStorage({
  KVDataList: [{key: 'score', value: '123'}, {key: 'cardId', value: '1'}],
  success: res => console.log(res),
  fail: res => console.log(res),
  complete: res => console.log(res)
});

用户托管数据的限制

  1. 每个 swanId 所对应的百度用户在单个游戏上托管的数据不能超过 128 个 key-value 键值对。

  2. 上报托管的 key-value 键值对列表中每一项的 key+value 长度都不能超过 1024 个字节。

  3. 上报托管的 key-value 键值对列表中每一项的 key 长度都不能超过 128 个字节。

UserGameData

属性 类型 描述
avatarUrl string 用户的百度账号头像 url
nickname string 用户的百度账号昵称
swanId string 用户的 swanId
KVDataList Array.<KVData> 用户托管的 KVData 数据列表