# 打开客服会话

当前SDK提供两种方式接入客服会话功能,抖音&抖音Lite内调用 sdkInstance.openCustomerServiceConversation(options) 接口,其他宿主内使用 sdkInstance.createContactButton 接口,可通过字段 sdkInstance.system.appName 去区分宿主环境。

# 抖音或抖音Lite

# 接口说明

用于打开客服会话,仅支持抖音&抖音Lite;当前支持的客服类型包括:

sdkInstance.openCustomerServiceConversation(options);

最低基础库版本要求

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

# 参数说明

参数说明如下表所示:

选项 类型 必填 默认值 说明
type number 1

客服类型:

  • 1 - 小6客服(推荐)
  • 2 - 抖音IM客服(仅支持抖音)
sessionFrom string -- 保留字段,暂时可以不填
success function -- 打开成功的回调函数
fail function -- 打开失败的回调函数,返回错误信息
complete function -- 打开完成的回调函数,成功或失败均会调用

# 返回值说明

WARNING

返回值格式:JSON 格式。

选项 类型 说明
code number 响应状态码,为 0 时表示打开成功,其他非 0 状态码均表示打开失败
data object / null 打开失败时返回 null
message string 打开成功或失败时的相应描述信息

# 示例代码

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

// 若用户客户端基础库版本低于 2.66.1,调用此接口将中断用户当前操作并弹出升级提示,不会报错!
sdkInstance.openCustomerServiceConversation({
  type: 1,
  success: function(response) {
    console.log(response);
  },
  fail: function(error) {
    sdkInstance.modal.message(error.message);
  },
  complete: function(result) {
    // do something here...
  }
});

# 其他宿主

# 接口说明

用于在游戏内创建小6客服按钮,并在点击时跳转至小6客服页面,全app通用;管理员可登录《抖音小6客服》 (opens new window)后台查看或回复用户咨询的内容;使用前需开通并配置相关客服账号,关于其能力介绍、接入指南等更多内容请阅读小6客服消息能力(全app通用) (opens new window)文档说明。

sdkInstance.createContactButton(options);

最低基础库版本要求

若用户客户端基础库版本低于 1.55.0,调用 sdkInstance.createContactButton(options) 接口将返回 undefined,并在正式版环境下于控制台输出错误提示(非正式版环境下,以弹窗形式展示),需要游戏研发对返回值做兼容处理!

# 参数说明

参数说明如下表所示:

选项 类型 必填 默认值 说明
type string text

按钮类型

  • text - 文本按钮,允许自定义文本及背景色
  • image - 图片按钮,仅允许设置背景贴图,背景贴图会直接拉伸至按钮的宽高
text string -- 文本按钮的文本,仅当 typetext 时有效
image string -- 图片按钮的背景图片,仅当 typeimage 时有效
style object -- 按钮样式
    style.top number 0 按钮左上角纵坐标
    style.left number 0 按钮左上角横坐标
    style.width number 100 按钮宽度
    style.height number 32 按钮高度
    style.borderWidth number 0 按钮边框宽度
    style.borderRadius number 0 按钮边框圆角
    style.borderColor string #07c160 按钮边框颜色,格式为 616 进制数
    style.backgroundColor string #07c160 按钮背景颜色,格式为 616 进制数
    style.textColor string #ffffff 按钮文本颜色,格式为 616 进制数
    style.fontSize number 12 按钮文本字号
    style.textAlign string center

按钮文本水平居中方式

  • left - 居左
  • center - 居中
  • right - 居右
    style.lineHeight number 32 按钮文本行高

# 返回值说明

调用 sdkInstance.createContactButton(options) 接口,将返回一个用于打开小6客服页面的按钮实例。具体实例方法如下表所示:

方法 类型 说明
show function 用于显示小6客服按钮
hide function 用于隐藏小6客服按钮
destroy function 用于销毁小6客服按钮
onTap function 用于绑定小6客服按钮的点击事件回调函数
offTap function 用于注销小6客服按钮的点击事件回调函数

# 特别说明

由于抖音的策略限制,在非抖音&抖音Lite宿主环境下,打开小6客服页面的动作无法由游戏原生按钮触发,必须使用上述API创建指定按钮,并在点击时自动跳转。但往往游戏拥有自己的视觉设计体系,而该API创建的按钮并不符合美术需求,遇到这种情况可通过以下两种方式解决:

  • 设置 typetext 时,将按钮文本、边框颜色及背景颜色均置空,以便创建一个视觉透明的按钮,并利用宽高及横纵坐标将其覆盖在小游戏原生按钮上;(经测试暂不可行,可尝试使用第二种方案)
  • 设置 typeimage 时,将小游戏的按钮图片素材作为背景图片。

# 示例代码

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

// 创建小6客服按钮
const contactButton = sdkInstance.createContactButton({
  type: "text",
  text: "联系客服",
  style: {
    top: 376,
    left: 40,
    width: 100,
    height: 32,
    backgroundColor: "#07c160",
    borderWidth: 0,
    borderColor: "#07c160",
    borderRadius: 0,
    textColor: "#ffffff",
    fontSize: 12,
    textAlign: "center",
    lineHeight: 32
  }
});

// 先判断 contactButton 是否存在再使用
// 因为当用户的客户端基础库版本低于 1.55.0 时,调用 sdkInstance.createContactButton 接口将返回 undefined
if (contactButton) {
  // 显示小6客服按钮
  contactButton.show();

  // 隐藏小6客服按钮
  contactButton.hide();

  // 销毁小6客服按钮
  contactButton.destroy();

  // 绑定或注销小6客服按钮的点击事件回调函数
  const listener = function(response) {
    console.log(response.code); // 事件响应状态码,为0时表示打开小6客服页面成功,其他非0状态码表示打开失败
    console.log(response.message); // 打开成功或失败时的相应描述信息
  };

  contactButton.onTap(listener);
  contactButton.offTap(listener);
}
Last Updated: 2025/3/20 14:04:23