# 用户设置(选接)

# 获取用户设置

# 接口说明

用于获取用户的当前设置,返回值中只会出现游戏已经向用户请求过的权限。

sdkInstance.getSetting(options);

最低基础库版本要求

当用户的客户端基础库版本低于 1.2.0 时,调用 sdkInstance.getSetting(options) 接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!

# 参数说明

参数说明如下表所示:

选项 类型 必填 默认值 说明
withSubscriptions boolean false 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息
success function -- 获取成功的回调函数,返回用户设置
fail function -- 获取失败的回调函数,返回错误信息
complete function -- 获取完成的回调函数,成功或失败均会调用

# 返回值说明

WARNING

返回值格式:JSON 格式。

选项 类型 说明
code number 响应状态码,为 0 时表示获取成功,其他非 0 状态码均表示获取失败
data object / null 获取成功时返回用户设置信息,失败时返回 null
    data.authSetting object 用户授权结果,详情请参考 AuthSetting 类型说明
    data.subscriptionsSetting object 用户订阅消息设置,参数 withSubscriptionstrue 时才会返回,详情请参考 SubscriptionsSetting 类型说明(基础库 2.10.1 开始支持)
    data.miniprogramAuthSetting object 在插件中调用时,当前宿主小程序的用户授权结果,详情请参考 AuthSetting 类型说明
message string 获取成功或失败时的相应描述信息

# 示例代码

注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!

// 当用户的客户端基础库版本低于 1.2.0 时,调用 sdkInstance.getSetting(options) 接口将直接触发失败回调函数,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示)!
sdkInstance.getSetting({
  withSubscriptions: true,
  success: function(response) {
    console.log(response.code); // 接口响应状态码,此处为0,表示获取成功

    console.log(response.data.authSetting);
    // response.data.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }

    console.log(response.data.subscriptionsSetting);
    // response.data.subscriptionsSetting = {
    //   mainSwitch: true, // 订阅消息总开关
    //   itemSettings: { // 订阅项独立开关
    //     SYS_MSG_TYPE_INTERACTIVE: 'accept', // 系统订阅消息
    //     SYS_MSG_TYPE_RANK: 'accept',
    //     'zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE': 'reject', // 一次性订阅消息
    //     'ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw': 'ban'
    //   }
    // }
  },
  fail: function(error) {
    console.log(error); // 获取失败的错误信息,error.code为非0状态码,error.message为错误消息
  },
  complete: function(result) {
    // do something here...
  }
});

# 打开用户设置界面

# 接口说明

用于打开用户设置界面,返回用户设置的操作结果,设置界面只会出现游戏已经向用户请求过的权限。通过本接口可以引导用户打开设置页面,用户可以在设置页面中开启或关闭相应的权限。

sdkInstance.openSetting(options);

最低基础库版本要求

当用户的客户端基础库版本低于 1.1.0 时,调用 sdkInstance.openSetting(options) 接口将中断用户当前操作并弹出升级提示,不会报错!

# 参数说明

参数说明如下表所示:

选项 类型 必填 默认值 说明
withSubscriptions boolean false 是否同时获取用户订阅消息的订阅状态,默认不获取。注意:withSubscriptions 只返回用户勾选过订阅面板中的“总是保持以上选择,不再询问”的订阅消息
success function -- 打开成功的回调函数
fail function -- 打开失败的回调函数
complete function -- 打开结束的回调函数,成功或失败均会调用

# 返回值说明

WARNING

返回值格式:JSON 格式。

选项 类型 说明
code number 响应状态码,为 0 时表示打开成功,其他非 0 状态码均表示打开失败
data object / null 打开成功时返回用户设置信息,失败时返回 null
    data.authSetting object 用户授权结果,详情请参考 AuthSetting 类型说明
    data.subscriptionsSetting object 用户订阅消息设置,参数 withSubscriptionstrue 时才会返回,详情请参考 SubscriptionsSetting 类型说明(基础库 2.10.3 开始支持)
message string 打开成功或失败时的相应描述信息

# 示例代码

注:示例代码中的参数或选项均为演示数据,仅供参考,谢谢!

// 当用户的客户端基础库版本低于 1.1.0 时,调用 sdkInstance.openSetting(options) 接口将中断用户当前操作并弹出升级提示,不会报错!
sdkInstance.openSetting({
  withSubscriptions: true,
  success: function(response) {
    console.log(response.code); // 接口响应状态码,此处为0,表示调用成功

    console.log(response.data.authSetting);
    // response.data.authSetting = {
    //   "scope.userInfo": true,
    //   "scope.userLocation": true
    // }

    console.log(response.data.subscriptionsSetting);
    // response.data.subscriptionsSetting = {
    //   mainSwitch: true, // 订阅消息总开关
    //   itemSettings: { // 订阅项独立开关
    //     SYS_MSG_TYPE_INTERACTIVE: 'accept', // 系统订阅消息
    //     SYS_MSG_TYPE_RANK: 'accept',
    //     'zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE': 'reject', // 一次性订阅消息
    //     'ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw': 'ban'
    //   }
    // }
  },
  fail: function(error) {
    console.log(error); // 打开失败的错误信息,error.code为非0状态码,error.message为错误消息
  },
  complete: function(result) {
    // do something here...
  }
});

# 相关文档

Last Updated: 2026/5/12 14:57:21