更新记录

1.0.5(2022-06-15)

1、更新安卓调用客服闪退问题

1.0.3(2022-06-10)

1.更新插件


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 10.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:9 - 15

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


简介

这是网易七鱼在线客服SDK的UniApp原生封装插件,支持Android/iOS,支持平台版的很多功能,支持自定义配置等等。

关于SDK的文档,请参考官方文档

注意,本插件只能在App端使用,小程序或者H5请使用七鱼官方的Web SDK或者微信小程序SDK

本插件向 UniApp 公开了大部分 API,方便您自由使用相关功能。

如果在插件使用中遇到了问题或者bug,或者有缺少的API, 欢迎向我提出建议,我会尽量修改以满足您的要求。

使用说明

请绑定插件至您的项目,然后在插件配置中配置您的七鱼在线客服appKey,否则客服功能将无法正常使用。

绑定后请生成一个自定义调试基座,调试时请选择自定义调试基座。

在代码中导入模块,然后调用相关方法,例如:

const qiyukfModule = uni.requireNativePlugin('imengyu-Qiyukf-QiyukfModule')

qiyukfModule.openService({
  staffId: 481473168,
  title: '咨询客服',
  sourceUrl: 'mine',
  sourceTitle: '我的',
}, (res) => {
  console.log(res);
});

具体方法说明,见下方 API 文档。

API 文档

事先说明: Android 与 iOS 两个端提供的 API 并不是完全相同的,因为七鱼SDK本身提供的就不一样,插件并没有过度封装成一样的方法,因为这本身没有意义,而且很可能会造成您使用上出现疑问。因此,大部分API与七鱼官方一致,方便您查阅官方文档。Android 与 iOS 两个端的差异需要您在自己的App中分别处理。

所有Android/iOS两个端的差异会在下方说明。

在使用本插件之前请查阅官方SDK文档:AndroidiOS

基础

CRM对接

  • setUserInfo(data, callback)

    上报用户信息。

    • data 参数
    属性 类型 必填 说明
    userId string 用户唯一性标识
    data string JSON 字符串形式,展示在客服端信息
    authToken string 若企业需校验用户的 AuthToken,在此字段填写,为空则不校验
    • callback 回调参数
    属性 类型 必填 说明
    success boolean 表示是否成功
    errMsg string 错误信息
    code number 七鱼返回的状态码
  • clearUserInfo()

    注销用户.

SDK 方法

  • isInit(options, callback)

    获取七鱼SDK当前是否已初始化。

    • options 参数

    无参数

    • callback 回调参数
    属性 类型 必填 说明
    isInit boolean 当前是否已初始化
  • toggleNotification(options) (Android)

    通知栏消息提醒开关控制。

    默认情况下,只有访客在聊天界面时,才不会有通知栏提醒,其他界面以及 App 在后台时,都会有消息提醒。如果当 App 在前台时,不需要通知栏提醒新消息,可以调用toggleNotification关闭消息提醒,然后在 App 退到后台时,调用toggleNotification重新打开。

    • options 参数
    属性 类型 必填 说明
    on boolean 用户唯一性标识
  • clearCache()

    清空七鱼缓存文件, 不会清空聊天记录。

打开客服窗口

  • openService(options, eventBus)

    打开七鱼SDK客服窗口。

    第一次打开需要指定options参数,第二次调用时如果之前的客服会话未关闭,则参数无效,需要先调用 closeService 关闭当前客服会话,再重新打开。

    • Android 参数与返回:

    • options 参数

      属性 类型 必填 说明
      staffId number 客服ID
      groupId number 客服组ID
      shopId number 要咨询的商家 ID 平台电商调用,非平台电商不需要该字段。
      robotFirst boolean 如果指定了 groupId 或者 staffId 时,该参数有效。表示会先进机器人,之后如果用户转人工服务,再分配给上面指定的groupId 或者 staffId
      robotId number 机器人ID,如果开启了机器人,该参数有效。如果不设置,将连接默认机器人。 机器人ID可以在管理后台的 设置 -> APP接入 中查看。
      faqGroupId number 机器人热门问题组 ID 如果指定了此参数,且请求客服为机器人客服,则会下发该 ID 对应的热门问题。 热门问题组 ID 可在管理后台查询。
      quickEntryList Array<QuickEntry> 人工客服时显示在输入框上方的快捷入口,如“选订单”,点击后可以响应自定义事件。在 setCustomEventsHandler 设置自定义事件接收器中会以 QuickEntryClick 事件回调。
      lifeCycleOptions LifeCycleOptions 对用户咨询会话的一些生命周期控制选项。通过这些选项,APP可以自定义是否允许用户主动结束会话, 用户主动退出排队等开关,以及排队过程中用户按返回键的提示语等信息。 默认为 null
      productDetail ProductDetail 访客发起会话时所带的商品消息信息
      shopEntrance ShopEntrance 商家入口信息 如果为 null ,则不显示商家入口
      sessionListEntrance SessionListEntrance 会话列表入口信息 如果为 null ,则不显示会话列表入口
      prompt string 连接专属客服成功时候的提示语
      custom string 可自定义传入的字符串,比如商品详细信息,用户操作状态等等, 在分配客服时该字段会传递给客服。
      sourceTitle string 来源标题
      sourceUrl string 来源链接 此处不做链接相关校验,可传任意字符串
      VIPStaffAvatarUrl string 专属客服头像的 url ,如果配置了该字段,那么与这个客服聊天的消息都会为这个字段
      vipStaffName string 专属客服的名字
      vipStaffWelcomeMsg string 专属客服的欢迎语
      vipStaffid string 专属客服的 id
      vipLevel number 用户VIP等级 0:非VIP(默认) 1-10:VIP等级 11:通用VIP(不显示等级)
      robotWelcomeMsgId string 机器人欢迎语 id ,可以通过该参数配置不同的机器人欢迎语
      leaveMsgTemplateId string 留言模版 id ,可以通过指定该参数配置不同的留言模版
      forbidUseCleanTopStart boolean 是否禁止使用 FLAG_ACTIVITY_CLEAR_TOP 去启动客服 Activity,默认为 false
      • QuickEntry 结构
      属性 类型 必填 说明
      id number 这个快捷入口ID
      title string 快捷入口标题
      iconUrl string 快捷入口图标的URL
      • ShopEntrance 结构
      属性 类型 必填 说明
      logo string 商家logo url 图片地址
      name string 商家名称 最多显示三个字符超出将显示“xx...”
      • SessionListEntrance 结构
      属性 类型 必填 说明
      position string 入口图片资源id名称。建议为半透明图片,如果不设置将显示默认图片
      imageResId string 入口位置。目前包含TOP_LEFT和TOP_RIGHT,即屏幕左上角和右上角,如果不设置将默认位于右上角
      • LifeCycleOptions 结构
      属性 类型 必填 说明
      canCloseSession boolean 设置是否允许用户主动结束会话。 设置该选项后,在会话状态下,右上角会有结束会话的入口
      canQuitQueue boolean 设置是否允许用户主动退出排队。 设置该选项后,在排队状态下,右上角会有退出排队的入口。如果用户通过按返回键退出,会给出提示。
      quitQueuePrompt string 设置排队状态下,按返回键时给用户的提示语,提示用户是否要退出排队。 注意: 该选项只有在 canQuitQueue 设置为 true 时才有效。
      • ProductDetail 结构
      属性 类型 说明
      title string 设置自定义商品消息的标题,非必填,未填写时不显示,消息传输时不超过100字,超过时自动截断进行传输。
      picture string 设置自定义商品消息的缩略图地址,非必填,未填写时显示默认图片,消息传输时不超过1000字,超过时自动截断进行传输。
      desc string 设置自定义商品消息的摘要,非必填,未填写时不显示,消息传输时不超过300字,超过时自动截断进行传输。
      note string 设置自定义商品消息的备注,非必填,未填写时不显示,消息传输时不超过100字,超过时自动截断进行传输。
      url string 设置自定义商品消息点击后的跳转地址,非必填,未填写时不可点击,消息传输时不超过1000字,超过时自动截断进行传输。
      show number 访客发起会话时,设置自定义商品消息是否显示在访客端,非必填,1为显示,未填写或者填入其他值时不显示在访客端。
      alwaysSend boolean 设置是否每次打开聊天窗口都发送商品消息。(相同的商品信息不会重复发送)
      openTemplate boolean 是否开启新模版的展示
      sendByUser boolean 设置商品是否需要手动发送
      actionText string 设置底部发送链接的 text
      actionTextColor string 设置发送链接文字的颜色
      isOpenReselect boolean 设置是否展示重新选择按钮
      reselectText string 设置重新选择按钮的文案
      handlerTag string 设置重新选择事件的标志,当点击重新选择按钮的点击事件可能会用到
      ext string 设置扩展字段
      tags ProductDetailTag[] 设置快捷入口列表。
      • ProductDetailTag 结构

        属性 类型 说明
        data string 设置传递给iframe页面的数据
        focusIframe string 如果这个url需要跳转到七鱼客服界面中嵌入的iframe标签, 可通过该接口传入对应的标签名
        data string 设置操作入口的显示名字。
        url string 设置点击响应跳转的url地址
    • eventBus 返回

      属性 类型 必填 说明
      type string 事件类型,见下方
      ... 不同事件类型有不同参数,见下方
      • OpenServiceResult :调用 openService 返回的结果
      属性 类型 必填 说明
      success boolean 表示是否成功
      errMsg string 错误信息
      • SessionUpdate :当前会话更新时发生回调,例如添加、删除、新消息等
      属性 类型 必填 说明
      success boolean 表示是否成功
      shopId string 当前会话的商家ID
      contactId string 当前会话的联系ID
      content string 当前会话的最新一条消息内容
      time string 当前会话的最新一条消息的时间戳
      unreadCount string 当前会话的商家的未读消息条数
      msgStatus string 当前会话的最新一条消息状态 有这几种状态 draft,sending,success,fail,read,unread
      • SessionDelete :当前会话结束删除时发生
      属性 类型 必填 说明
      success boolean 表示是否成功
      shopId string 当前会话的商家ID
    • iOS 参数与返回:

    • options 参数

      属性 类型 必填 说明
      sourceTitle string 来源标题 title可对应管理后台“App核心页面列表”中“页面名称”(v5.10.0)
      sourceUrl string 来源链接 urlString可对应管理后台“App核心页面列表”中“页面链接”(v5.10.0) 此处不做链接相关校验,可传任意字符串
      custom string 来源自定义信息
      shopId string 如果是平台企业,可以填写目标商家ID,非平台不需要此字段
      groupId number 访客分流 分组Id
      staffId number 访客分流 客服Id
      robotId number 机器人Id
      vipLevel number vip等级
      commonQuestionTemplateId number 常见问题 模板Id
      robotWelcomeTemplateId number 机器人欢迎语 模板Id
      shuntTemplateId number 多入口分流 模板Id
      title string 会话窗口标题
      openRobotInShuntMode boolean 访客分流 是否开启机器人 仅设置staffId/groupId时生效
      commodityInfo QYCommodityInfo 商品信息展示
      canCopyCommodityInfo boolean 商品消息是否支持长按复制urlString信息,默认为true
      staffInfo QYStaffInfo 人工客服信息
      quickEntryList Array<QYButtonInfo> 输入区域上方工具栏内的按钮信息
      autoSendInRobot boolean 机器人自动发送商品信息功能
      messagePageLimit number 每页消息加载的最大数量,默认为20条
      hideHistoryMessages boolean 是否收起历史消息,默认为false;若设置为true,进入会话界面时若需创建新会话,则收起历史消息
      historyMessagesTip string 历史消息提示文案,默认为“——以上为历史消息——”;仅在hideHistoryMessages为true,首次下拉历史消息时展示
      • QYCommodityInfo 商品信息结构
      属性 类型 必填 说明
      pictureUrlString string 商品图片链接,字符数要求小于1000
      title string 商品标题,字符数要求小于100
      desc string 商品描述,字符数要求小于300
      note string 备注信息,可以显示价格,订单号等,字符数要求小于100
      urlString string 跳转url,字符数要求小于1000
      tagsArray QYCommodityTag[] 标签数据,数组类型
      tagsString string 标签数据,字符串类型,与数组类型二选一
      show boolean 发送时是否在访客端隐藏,默认隐藏
      isPictureLink boolean 是否仅显示商品图片,默认否
      sendByUser boolean 是否由访客主动发送,默认否;设置为true,消息下方新增发送按钮 (v4.4.0)
      actionText string 发送按钮文案
      actionTextColor string 发送按钮文案颜色
      ext string 一般用户不需要填这个字段,这个字段仅供特定用户使
      • QYCommodityTag 结构

        属性 类型 必填 说明
        label string 标签标题
        url string 跳转URL
        focusIframe string
        data string
      • QYButtonInfo 结构

      属性 类型 必填 说明
      title string 标题
      id number 按钮ID
      • QYStaffInfo 人工客服信息结构
      属性 类型 必填 说明
      staffId string 客服ID,限制20字符
      nickName string 客服昵称,限制20字符
      iconURL string 客服头像URL
      accessTip string 接入提示,限制50字符
      infoDesc string 客服信息描述
    • eventBus 返回

      属性 类型 必填 说明
      type string 事件类型,见下方
      ... 不同事件类型有不同参数,见下方
      • OpenServiceResult :调用 openService 返回的结果
      属性 类型 必填 说明
      success boolean 表示是否成功
      errMsg string 错误信息
      • SessionUpdate :当前会话更新时发生回调,例如添加、删除、新消息等
      属性 类型 必填 说明
      success boolean 表示是否成功
      shopId string 当前会话的商家ID
      content string 当前会话的最新一条消息内容
      time string 当前会话的最新一条消息的时间戳
      unreadCount string 当前会话的商家的未读消息条数
      • SessionDelete :当前会话结束删除时发生
      属性 类型 必填 说明
      success boolean 表示是否成功
      shopId string 当前会话的商家ID
      • ReceiveMessage :当前会话有新消息时发生
      属性 类型 必填 说明
      message QYMessage 新消息
      • ShopEntranceClick :点击右上角按钮回调(对于平台电商来说,这里可以考虑放“商铺入口”)

      无特殊参数。

      • SessionListEntranceClick :点击聊天内容区域的按钮回调(对于平台电商来说,这里可以考虑放置“会话列表入口“)

      无特殊参数。

      • QuickEntryClick : 工具栏内按钮点击回调定义
      属性 类型 必填 说明
      title string 按钮标题
      id string 按钮ID
      actionType number actionType为1表示发送文本消息title,2表示openURL或是自定义行为
      index number index表示该button位置
    • QYMessage 结构

      属性 类型 必填 说明
      type string 消息类型 None未知,Text文字,Image图片,Audio音频,Video视频,File文件, Custom自定义
      text string 消息文本内容
      content string 消息文本内容,同text
      time number 消息时间戳
  • closeService(options, callback)

    关闭 openService 打开的客服会话。

    • options 参数

    无参数

    • callback 回调参数
    属性 类型 必填 说明
    success boolean 表示是否成功
    errMsg string 错误信息

发送消息

  • sendProductMessage(options)

    发送商品信息。

    • options 参数
    属性 类型 必填 说明
    shopId string 如果是平台企业,可以填写目标发送商家ID,非平台不需要此字段
    ... Android 商品结构请参考 openService 的 ProductDetail 结构
    ... iOS 商品结构请参考 openService 的 QYCommodityInfo 结构
  • sendMessage(options)

    手动发送信息。

    • options 参数
    属性 类型 必填 说明
    shopId string 如果是平台企业,可以填写目标发送商家ID,非平台不需要此字段
    type string 不同类型消息参数不同,见下方
    • file 发送文件消息

      属性 类型 必填 说明
      filePath string 文件路径,请转为绝对路径
      displayName string 显示名称 IOS 需要传
    • text 发送文字消息

      属性 类型 必填 说明
      text string 文字
    • video 发送视频消息

      属性 类型 必填 说明
      filePath string 文件路径,请转为绝对路径
      displayName string 视频显示名称, IOS 不用传
      width number 视频显示宽度, IOS 不用传
      height number 视频显示高度, IOS 不用传
      duration number 视频时长, IOS 不用传
    • image 发送图片消息

      属性 类型 必填 说明
      filePath string 文件路径,请转为绝对路径
      displayName string 图片显示名称, IOS 不用传

新消息提醒与未读数

未读数

  • getUnreadCount(options, callback)

    获取总的未读数。

    • options 参数

    无参数

    • callback 回调参数
    属性 类型 必填 说明
    unreadCount number 总的未读数
  • clearUnreadCount()

    清除全部未读数。

  • POPClearUnreadCount(options)

    平台企业清除全部未读数。

    • options 参数
    属性 类型 必填 说明
    shopId string 商家ID
  • addUnreadCountChangeListener(options, callback)

    添加未读数变化监听回调。

    添加成功后会回调返回一次count为0,用于接收id。

    • options 参数

    无参数

    • callback 回调参数
    属性 类型 必填 说明
    count number 当前未读数
    id number 当前监听回调的ID,可以使用 removeUnreadCountChangeListener 停止监听
  • removeUnreadCountChangeListener(options)

    移除未读数变化监听回调。

    • options 参数
    属性 类型 必填 说明
    id number addUnreadCountChangeListener 返回的监听回调的ID

新消息提醒

普通版新消息是通过 addUnreadCountChangeListener 判断未读数是否变化,变化就是有新消息,然后调用 queryLastMessage 获取最后一条消息内容,就可以显示提示框了。

平台版因为要区分不同的会话,您可调用 POPAddSessionListChangedListener 添加商家更新监听器,处理商家状态变化。

关于通知栏新消息的点击处理

  • Android通知栏新消息的点击处理,参见官方文档

    插件封装了官方文档中提供的方法,你可以在 App.vue OnShow 中调用以下方法:

    qiyukfModule.checkIntentForMessage((dat) => {
    if(dat.hasExtra) {
      if(dat.messages.length > 0) {
        console.log('点击了新消息!', dat.messages[0]);
        //在这里可以自由处理,例如,重新打开客服窗口
    
        qiyukfModule.resetIntent(); //处理后需要重置Intent数据,防止重复打开
      }
    }
    });
    • checkIntentForMessage(callback)

    点击通知栏提醒直接跳转到会话窗口检查 (Android)。

    • callback 回调参数
    属性 类型 必填 说明
    hasExtra boolean 表示当前用户是否点击了通知栏
    messageContent boolean 消息文字
    messages array 当前消息数组,消息结构与 queryLastMessage 返回的结构一致
    key string
    • resetIntent()

    重置检查Intent (Android)。处理后需要重置Intent数据,防止重复打开。

    • changeNotificationOptions(options)

    Android 通知栏配置。

    • options参数

      属性 类型 必填 说明
      notificationColor string 通知颜色
      notificationSound string 通知声音文件路径
      notificationSmallIconId string 通知小图标的resId
      ring boolean 是否播放铃声
      showBadge boolean 是否显示徽章
      hideContent boolean 是否隐藏消息内容
      downTimeToggle boolean
      titleOnlyShowAppName boolean 标题是否只显示应用名称
      downTimeEnableNotification boolean
      customTitleWhenTeamNameEmpty string
      downTimeBegin string
      downTimeEnd string
      ledARGB number 呼吸灯的ARGB数值
      ledOnMs number 呼吸灯亮时间
      ledOffMs number 呼吸灯灭时间
      notificationFoldStyle string ALL, CONTACT, EXPAND
      notificationExtraType string MESSAGE, JSON_ARR_STR
  • IOS通知栏新消息的点击处理可以调用 setCustomEventsHandler 设置自定义事件处理,你需要处理 NotificationClick 事件,请参考 setCustomEventsHandler ,或者是打开客服时监听回调的 ReceiveMessage 事件。

获取最后一条消息

  • queryLastMessage(options, callback) (Android)

    获取和客服的最后一条聊天消息内容。

    • options 参数

    无参数

    • callback 回调参数
    属性 类型 必填 说明
    content string 消息内容
    time number 消息时间戳
    remoteRead boolean 远程是否已读
    sessionId string 消息所属会话ID
    fromAccount string 消息所属账号

评价

  • openEvaluation(options, callback) (Android)

    打开评价界面,如果自定义了评价界面会跳转自定义的评价界面,如果没有自定义,则进行七鱼评价界面的流程.

    • options 参数

    无参数

    • callback 回调参数
    属性 类型 必填 说明
    data boolean 评价结果对象
    result number 评价结果状态码
    success boolean 表示是否成功
    errMsg string 错误信息
  • setCustomEvaluation(options, callback)

    设置自定义评价接口,只能设置一次,可使用deleteCustomEvaluation删除。

    • options 参数

    • Android

      无参数

    • iOS

      属性 类型 必填 说明
      shopId string 平台版是你需要请求的商家ID,普通版可以为空
    • callback 回调参数

    • Android

      属性 类型 必填 说明
      type string 事件类型,有不同的参数,见下
      success boolean 表示是否成功
      errMsg string 错误信息
      • EvaluationStateChange 评价状态更改事件
      属性 类型 必填 说明
      state number 评价状态 0:不可评价,1:可评价,2:评价完成
      • EvaluationMessageClick 邀评消息被点击,App 方可以在此方法启动自己的评价界面
      属性 类型 必填 说明
      entry EvaluationOpenEntry 评价配置数据
      • EvaluationOpenEntry 结构

        属性 类型 必填 说明
        evaluatorScenes number 评价配置数据
        lastSource number 评价配置数据
        lastRemark String 评价配置数据
        exchange String 评价配置数据
        sessionId number 评价配置数据
        title String 评价配置数据
        type number 评价配置数据
        resolvedEnabled number 评价配置数据
        resolvedRequired number 评价配置数据
        evaluationEntryList Array<EvaluationOptionEntry> 评价配置数据
        • EvaluationOptionEntry 结构
        属性 类型 必填 说明
        commentRequired boolean 评价配置数据
        name string 评价配置数据
        tagList string[] 评价配置数据
        tagRequired boolean 评价配置数据
        value number 评价配置数据
    • iOS

      属性 类型 必填 说明
      type string 事件类型,有不同的参数,见下
      success boolean 表示是否成功
      errMsg string 错误信息
      • RobotEvaluation 机器人满意度评价事件
      属性 类型 必填 说明
      data QYEvaluactionData 评价数据,包括评价模式、选项及标签、上次评价结果等数据,据此构建评价界面
      • Evaluation 人工满意度评价事件
      属性 类型 必填 说明
      data QYEvaluactionData 评价数据,包括评价模式、选项及标签、上次评价结果等数据,据此构建评价界面
      • QYEvaluactionData 结构
      属性 类型 必填 说明
      urlString string 评价页面URL,对应“管理后台-评价样式-新页面”填写的字符串
      sessionId number 评价会话ID,提交评价结果时需透传
      optionList Arrray<QYEvaluationOptionData> 选项数据
      mode string 评价模式
      resolvedEnabled boolean 是否向访客收集“您的问题是否解决”
      resolvedRequired boolean “您的问题是否解决”是否必填
      • QYEvaluactionData.mode 枚举

        • QYEvaluationModeTwoLevel 模式一(二级满意度):满意/不满意
        • QYEvaluationModeThreeLevel 模式二(三级满意度):满意/一般/不满意
        • QYEvaluationModeFourLevel 模式三(四级满意度):非常满意/满意/不满意/非常不满意
        • QYEvaluationModeFiveLevel 模式四(五级满意度):非常满意/满意/一般/不满意/非常不满意
      • QYEvaluationOptionData 结构

        属性 类型 必填 说明
        option string 选项类型
        name string 选项名称
        score number 选项分值
        tagList string[] 标签
        tagRequired string 标签是否必填
        remarkRequired string 备注是否必填
        • QYEvaluationOptionData.option 枚举
        • QYEvaluationOptionVerySatisfied 非常满意
        • QYEvaluationOptionSatisfied 满意
        • QYEvaluationOptionOrdinary 一般
        • QYEvaluationOptionDissatisfied /不满意
        • QYEvaluationOptionVeryDissatisfied 非常不满意
  • deleteCustomEvaluation()

    删除 setCustomEvaluation 设置的评价接口

  • sendEvaluationResult(options, callback) (iOS)

    发送人工满意度评价结果.

    • options 参数
    属性 类型 必填 说明
    shopId string 平台版是你需要请求的商家ID,普通版可以为空
    • QYEvaluactionResult
    属性 类型 必填 说明
    sessionId number 评价会话ID,不可为空
    mode string 评价模式,透传 QYEvaluactionData.mode(提交机器人评价结果时此项必须)
    selectOption QYEvaluationOptionData 选中的选项,不可为空 (结构参见setCustomEvaluation)
    selectTags string[] 选中的标签,若selectOption的tagRequired必填,则selectTags不可为空
    remarkString string 评价备注,若selectOption的remarkRequired必填,则remarkString不可为空
    resolveStatus string QYEvaluationResolveStatus 是否解决,若resolvedRequired必填,则resolveStatus不可为None
    • QYEvaluationResolveStatus 枚举

      • QYEvaluationResolveStatusResolved 已解决
      • QYEvaluationResolveStatusUnsolved 未解决
    • callback 回调参数

    属性 类型 必填 说明
    state string 评价结果状态 QYEvaluationState
    result number 评价结果状态码
    success boolean 表示是否成功
    errMsg string 错误信息
    • QYEvaluationState 枚举
      • QYEvaluationStateSuccessFirst = 1 成功-首次评价
      • QYEvaluationStateSuccessRevise 成功-修改评价
      • QYEvaluationStateFailParamError 失败-发送参数错误
      • QYEvaluationStateFailNetError 失败-网络错误
      • QYEvaluationStateFailNetTimeout 失败-网络超时
      • QYEvaluationStateFailTimeout 失败-评价超时
      • QYEvaluationStateFailUnknown 失败-未知原因不可评价
  • sendRobotEvaluationResult(options, callback) (iOS)

    发送机器人满意度评价结果。

    参数,回调 与 sendEvaluationResult 基本相同。

  • doCustomEvaluation(options, callback) (Android)

    自定义评价界面进行评价。

    • options 参数
    属性 类型 必填 说明
    shopCode string 商家ID, 在 EvaluationOpenEntry 里面有这个值,只需要回传就可以了
    sessionId number 会话 ID ,在 EvaluationOpenEntry 里面有这个值,只需要回传就可以了
    score number 评分
    remark string 评价内容
    tagList string[] 标签
    name string 评价结果的文案,例如非常满意、满意、不满意等
    • callback 回调参数
    属性 类型 必填 说明
    type string 事件类型,有不同的参数,见下
    success boolean 表示是否成功
    errMsg string 错误信息
  • POPOpenEvaluation(options, callback) (Android)

    平台版打开七鱼SDK评价。

    • options 参数
    属性 类型 必填 说明
    key string createConsultSource 创建的 key
    • callback 回调参数

    同 openEvaluation 返回参数。

人工客服

  • requestStaff(options) (Android)

    普通版请求人工客服。

    • options 参数
    属性 类型 必填 说明
    hunmanOnly boolean 是否只请求人工客服,true 则只请求人工客服 false 则为人工客服和机器人都可以 return 请求是否成功,有可能你当前的状态不需要请求客服,也有可能你已经在人工的状态了,那么也会返回 true
  • requestStaff(options)(iOS)

    请求人工客服。

    • options 参数
    属性 类型 必填 说明
    shopId string 平台版是你需要请求的商家ID,普通版可以为空
    • 返回参数

    类型 string。

  • requestStaff2(options) (Android)

    请求人工客服。

    • options 参数
    属性 类型 必填 说明
    shopId string 要操作的会话平台ID,普通版可以不传
    hunmanOnly boolean 是否只请求人工客服,true 则只请求人工客服 false 则为人工客服和机器人都可以 return 请求是否成功,有可能你当前的状态不需要请求客服,也有可能你已经在人工的状态了,那么也会返回 true
    requestStaffScenes number 请求客服的当前场景,因为现在请求客服事件可以进行拦截,这个值是与 RequestStaffEntry 中 scenes 中相对应的
    staffId number staffId
    groupId number groupId
  • changeHumanStaffWithStaffId(options, callback)(iOS)

    切换人工客服。

    • options 参数
    属性 类型 必填 说明
    shopId string 平台版是你需要请求的商家ID,普通版可以为空
    closetip string 关闭客服的提示语
    isHuman boolean 转接客服是否只请求人工
    staffId number 想要转接的客服 id
    groupId number 想要转接的分组 id 如果同时设置 staffId 和 groupId 那么以 staffId 为主
    • callback 回调参数
    属性 类型 必填 说明
    success boolean 表示是否成功
    errMsg string 错误信息
  • transferStaff(options) (Android)

    转接客服的接口,在必要的时候可以通过此方法进行客服的转接 方法内部实现是,现结束当前客服的会话,然后在重新连接一下客服。

    • options 参数
    属性 类型 必填 说明
    shopId string 要操作的会话平台ID,普通版可以不传
    closeSessionMsg string 关闭客服的提示语
    isHuman boolean 转接客服是否只请求人工
    staffId number staffId
    groupId number groupId
  • quitQueue(options) (Android)

    退出排队的方法。

    • options 参数
    属性 类型 必填 说明
    shopId string 要操作的会话平台ID,普通版可以不传

多个客服窗口(平台版)

这里插件做了一层封装, 因为平台版有多个聊天会话,如果每次打开都需要传参数,非常麻烦。所以这里有个封装,你可以调用 createConsultSource 先创建一个会话,然后调用 POPOpenService 打开会话,第二次(例如从通知栏点击重新打开聊天),就不需要重新传一遍参数,只需要传入一个key即可,POPOpenService 会重新打开会话窗口。

  • createConsultSource(options)

    创建会话。

    • options 参数

    参数同 openService 的参数。

  • isConsultSourceExists(options, callback)

    获取一下指定的key会话是否创建。

    • options 参数
    属性 类型 必填 说明
    key string 要检查的key
    • callback 返回参数
    属性 类型 必填 说明
    exists boolean 是否创建
  • deleteConsultSource(options)

    删除指定的key会话。此操作会直接结束会话。

    • options 参数
    属性 类型 必填 说明
    key string 要检查的key
  • findConsultSourceKeyByShopId(options, callback)

    通过shopId操作已创建的会话key。

    • options 参数
    属性 类型 必填 说明
    shopId string 要检查的shopId
    • callback 返回参数
    属性 类型 必填 说明
    key string 找到的会话key,如果找不到,则返回空
  • getOpenedConsultSourceKeys(options, callback)

    获取创建的会话列表。

    • options 参数

    • callback 返回参数
    属性 类型 必填 说明
    list array 列表, 结构参见下方
    属性 类型 必填 说明
    key array 会话key
    value object -
  • POPOpenService(options, callback)

    平台版打开七鱼SDK客服窗口。

    • options 参数
    属性 类型 必填 说明
    key string createConsultSource 创建的会话key
    • callback 返回参数

    返回参数同 openService 返回参数。

会话列表(平台版)

  • getSessionList(options, callback)

    获取最近联系商家列表(主动获取会话列表)。

    • options 参数

    • callback 回调参数
    属性 类型 必填 说明
    list array 会话列表, 条目结构见下方
    • 会话列表条目结构 (Android)

      属性 类型 必填 说明
      contactId string 联系ID
      msgStatus number 消息状态 -1 draft, 0 sending, 1 success, 2 fail, 3 read, 4 unread
      unreadCount number 未读数
      content string 最后一条消息内容
      time number 最后一条消息的时间戳
    • 会话列表条目结构 (iOS)

      属性 类型 必填 说明
      contactId string 联系ID
      status number 消息状态 -1 draft, 0 sending, 1 success, 2 fail, 3 read, 4 unread
      unreadCount number 未读数
      hasTrashWords boolean 是否有垃圾敏感词汇
      content string 最后一条消息内容
      lastMessageText string 最后一条消息内容
      sessionName string 聊天会话名称
      avatarImageUrlString string 聊天头像路径
      time number 最后一条消息的时间戳
  • POPAddSessionListChangedListener(options, callback)

    注册最近联系商家更新监听器(添加、删除、新消息等)

    • options 参数

    无参数

    • callback 回调参数
    属性 类型 必填 说明
    type string 事件类型,'AddSuccess' 'SessionUpdate' 'SessionDelete'
    id number 当前监听回调的ID,可以使用 POPRemoveSessionListChangedListener 停止监听
    • AddSuccess 添加成功回调

    • SessionUpdate 会话更新回调(添加、新消息等)

      属性 类型 必填 说明
      list array 当前会话列表,条目结构详细见上方“会话列表条目结构”
    • SessionDelete 会话删除回调

      属性 类型 必填 说明
      shopId string 会话的商家ID
  • POPRemoveSessionListChangedListener(options)

    注销最近联系商家更新监听器(添加、删除、新消息等)

    • options 参数
    属性 类型 必填 说明
    id number POPAddSessionListChangedListener返回的ID
  • POPQueryLastMessage(options, callback)(Android)

    平台版获取和客服的最后一条聊天消息内容。。

    • options 参数
    属性 类型 必填 说明
    shopId string 商家ID
    • callback 回调参数

    返回消息结构与 queryLastMessage 返回的结构一致。

  • POPGetShopInfo(options, callback) (Android)

    平台版根据商家ID获取商家信息,如名称,logo。

    • options 参数
    属性 类型 必填 说明
    shopId string 商家ID
    • callback 回调参数
    属性 类型 必填 说明
    account string 账号
    avatar string 商家头像URL
    name string 商家名称
  • POPQuerySessionStatus(options, callback) (Android)

    平台版获取会话状态。

    • options 参数
    属性 类型 必填 说明
    shopId string 商家ID
    • callback 回调参数
    属性 类型 必填 说明
    status string NONE 未知,IN_SESSION 正在聊天,IN_QUEUE 正在排队
  • POPDeleteSession(options) (Android)

    删除最近联系商家记录。

    • options 参数
    属性 类型 必填 说明
    shopId string 商家ID
    clearMsgHistory boolean 是否同时清空消息记录
  • POPDeleteRecentSessionByShopId(options)(IOS)

    七鱼平台删除会话项, 删除会话列表中的会话。

    • options 参数
    属性 类型 必填 说明
    shopId string 商家ID
    deleteMessages boolean 是否同时清空消息记录

工单

  • openUserWorkSheetActivity(options)

    自助启动查询工单界面。

    • options 参数
    属性 类型 必填 说明
    templateIds number[] 工单模板 id
    isOpenUrge boolean 是否打开催单功能
    shopId string 如果是平台版本传递 shopId,如果是非平台可以为空
    • IOS 将结果以字符串形式返回。
  • presentWorkOrderViewControllerWithTemplateID(options)(iOS)

    弹出工单页面自助提工单。

    • options 参数
    属性 类型 必填 说明
    shopId string 平台版是你需要请求的商家ID,普通版可以为空
    templateID number 工单模板 id
    • 返回参数

    类型 string。

自定义界面

  • changeUICustomization(options)

    更改界面自定义方法。

    • options 参数

    • 以下仅显示参数与类型,具体说明请参考官方文档。

    • Android

      • 请参考官方文档
      • 关于自定义资源。您可以在自己的项目中新建nativeplugins/imengyu-Qiyukf/android/res/drawable,在其中放置自己的图片资源。
      {
      msgBackgroundUri: string, 
      msgBackgroundColor: string, 
      msgListViewDividerHeight: number,
      hideLeftAvatar: boolean,
      hideRightAvatar: boolean,
      avatarShape: number,
      leftAvatar: string,
      rightAvatar: string,
      isShowTitleAvatar: boolean,
      tipsTextColor: string,
      tipsTextSize: number,
      msgItemBackgroundLeft: string,
      msgItemBackgroundRight: string,
      msgRobotItemBackgroundLeft: string,
      msgRobotItemBackgroundRight: string,
      audioMsgAnimationLeft: string,
      audioMsgAnimationRight: string,
      textMsgColorLeft: string,
      hyperLinkColorLeft: string,
      textMsgColorRight: string,
      hyperLinkColorRight: string,
      textMsgSize: number,
      inputTextColor: string,
      inputTextSize: number,
      topTipBarBackgroundColor: string,
      topTipBarTextSize: number,
      topTipBarTextColor: string,
      titleBackgroundColor: string,
      titleBarStyle: number,
      buttonBackgroundColorList: string,
      buttonTextColor: string,
      hideAudio: boolean,
      hideAudioWithRobot: boolean,
      hideEmoji: boolean,
      screenOrientation: number,
      hideKeyboardOnEnterConsult: boolean,
      robotBtnBack: string,
      robotBtnTextColor: string,
      inputUpBtnBack: string,
      inputUpBtloadingAnimationDrawablenBack: string,
      editTextHint: string,
      //说明参见 自定义样式 右上角按钮样式自定义
      titleBarConfig: {
        titleBarRightQuitBtnBack: string,
        titleBarRightHumanBtnBack: string,
        titleBarRightEvaluatorBtnBack: string,
        titleBarRightImg: string,
        titleBarRightTextColor: string,
        titleBarRightText: string,
      },
      //说明参见 自定义样式 输入栏区域自定义
      inputPanelOptions: {
        voiceIconResId: string,
        emojiIconResId: string,
        photoIconResId: string,
        moreIconResId: string,
        showActionPanel: boolean,
        actionPanelOptions: {
          backgroundColor: string,
          actionListProvider: [{
            type: 'Image'|'Camera'|'InquireWorkSheet'|'WorkSheet'|'Album'|'Custom',
            templateId?: number, //类型为 WorkSheet 需要填写此工单模板ID
            templateIds?: number[], //类型为 InquireWorkSheet 需要填写此工单模板ID数组
          }],
        },
      },
      }
    • iOS

      • 请参考官方文档
      • 图片资源必须是本地路径。
      {
      sessionBackground: string,
      themeColor: string,
      customerHeadImage: string,
      rightItemStyleGrayOrWhite: number,
      showCloseSessionEntry: boolean,
      showHeadImage: boolean,
      showTopHeadImage: boolean,
      customerHeadImageUrl: string,
      customerMessageBubbleNormalImage: string,
      customerMessageBubblePressedImage: string,
      customMessageTextColor: string,
      customMessageHyperLinkColor: string,
      customMessageTextFontSize: string,
      serviceHeadImage: string,
      serviceMessageBubbleNormalImage: string,
      serviceMessageBubblePressedImage: string,
      serviceMessageTextColor: string,
      serviceMessageTextFontSize: number,
      serviceMessageHyperLinkColor: string,
      tipMessageTextColor: string,
      tipMessageTextFontSize: number,
      bypassDisplayMode: number,
      sessionMessageSpacing: number,
      headMessageSpacing: number,
      messageButtonTextColor: string,
      messageButtonBackColor: string,
      actionButtonTextColor: string,
      actionButtonBorderColor: string,
      inputTextColor: string,
      inputTextFontSize: number,
      inputTextPlaceholder: string,
      showAudioEntry: boolean,
      showAudioEntryInRobotMode: boolean,
      showEmoticonEntry: boolean,
      showImageEntry: boolean,
      autoShowKeyboard: boolean,
      showShopEntrance: boolean,
      imagePickerColor: string,
      showSessionListEntrance: boolean,
      bottomMargin: number,
      sessionListEntranceImage: string,
      sessionListEntrancePosition: number,
      sessionTipTextColor: string,
      sessionTipTextFontSize: number,
      customInputItems: [
        {
          normalImage?: string,
          selectedImage?: string,
          key: string,
          text: string,
        }
      ],
      }
      • customInputItems 说明参见 自定义样式 配置更多按钮
      • customInputItems 的点击事件会在 QiyuCustomInputItemClick 全局事件发送。event.detail.key 是点击的条目key。
  • resetUICustomizationToDefault(options)

    重置界面自定义至默认。

    • options 参数

自定义事件

  • setCustomEventsHandler(options, callback)

    设置自定义事件接收器。

    • options 参数

    • callback 回调参数

    • Android

      属性 类型 必填 说明
      type string 事件类型,见下方
      • UrlClick 链接点击事件
      属性 类型 必填 说明
      url string 链接
      • MessageItemClick 消息条目点击事件
      属性 类型 必填 说明
      url string 链接
      • QuickEntryClick 输入栏快捷入口点击事件
      属性 类型 必填 说明
      shopId string 商家ID
      iconUrl string 图标ID
      id string QuickEntry的ID
      name string QuickEntry的名称
      • ShopEntranceClick 商家入口点击事件
      属性 类型 必填 说明
      shopId string 商家ID
      • SessionListEntranceClick 最近联系商家入口点击事件

      无特殊参数。

    • iOS

      属性 类型 必填 说明
      type string 事件类型,见下方
      • LinkClick 链接点击事件
      属性 类型 必填 说明
      linkAddress string 链接
      • BotClick 机器人部分模板消息点击事件
      属性 类型 必填 说明
      target string -
      params string -
      • PushMessageClick 七鱼推送消息点击事件
      属性 类型 必填 说明
      linkAddress string 链接
      • ShowBotCustomInfo 机器人自定义信息回调
      属性 类型 必填 说明
      array string -
      • CommodityAction 订单卡片按钮点击事件
      属性 类型 必填 说明
      commodityInfo object 商品信息
      • ExtraClick 消息扩展视图点击事件
      属性 类型 必填 说明
      extInfo string extInfo
      • NotificationClick 系统消息点击
      属性 类型 必填 说明
      message object 消息结构
      • EventClick 消息内部分点击事件数据透传
      属性 类型 必填 说明
      eventName string
      eventData string
      messageId string
      • CustomButtonClick 自定义事件按钮点击事件
      属性 类型 必填 说明
      params object 参数
      • AvatarClick 消息头像点击事件
      属性 类型 必填 说明
      avatarType number 头像类型 0人工客服 1机器人客服 2企业 3访客
      accountID string 账号ID
  • resetCustomEventsHandlerToDefault(options)

    删除 setCustomEventsHandler 设置的自定义事件接收器。

    • options 参数

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据 插件功能使用QYSDK,参考其官方网站 https://qi.163.com/ics?hmsr=baidu&hmkw=bdjj_kfrk02380

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问