qiyuSdk

立即使用

概述

网易七鱼 SDK 是客服系统访客端的解决方案,既包含了客服聊天逻辑管理,也提供了聊天界面,开发者可方便的将客服功能集成到自己的 APP 中。
本模块支持 iOS 7 以上,Android 2.3 以上版本,同时支持手机、Pad。在iOS 9.2 以上版本中支持 IPv6,能正常通过苹果审核。 详情请前往官网:http://www.qiyukf.com

Method

  • openServiceWindow
  • setCustomUIConfig
  • setUrlClickCallback
  • setUnreadCountCallback
  • getUnreadCount
  • setUserInfo
  • logout

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。

配置

模块会在应用启动时初始化七鱼服务,因此需要在 config.xml 的 widget 标签下添加以下内容,否则七鱼服务将无法正常启动

  1. <feature name="qiyuSdk">
  2. <param name="appKey" value="七鱼管理后台的appKey" />
  3. <param name="appName" value="七鱼管理后台的App名称" />
  4. </feature>

方法接口描述

* openServiceWindow

启动客服聊天窗口

  1. openServiceWindow(params)
params
参数名类型默认值描述
sourceJSON对象会话窗口来源
sourceTitle字符串类型会话窗口来源标题
sourceUrl字符串类型会话窗口来源URL
sourceCustomInfo字符串类型会话窗口来源自定义消息
commodityInfoJSON对象商品详情信息
commodityInfoTitle字符串类型商品详情信息展示商品标题,字符数要求小于100
commodityInfoDesc字符串类型商品详情信息展示商品描述,字符数要求小于300
pictureUrl字符串类型商品详情信息展示商品图片URL,字符数要求小于1000
commodityInfoUrl字符串类型商品详情信息展示跳转URL,字符数要求小于1000
note字符串类型商品详情信息展示备注信息,可以显示价格、订单号等,字符数要求小于100
show布尔类型false商品详情信息展示发送时是否要在用户端显示,默认不显示
sessionTitle字符串类型客服会话窗口标题
staffIdlong类型指定客服id,如果同时指定 staffId 和 groupId,以 staffId 为准,忽略 groupId
groupIdlong类型指定客服分组id,如果同时指定 staffId 和 groupId,以 staffId 为准,忽略 groupId
示例代码
  1. var qiyuSdk = api.require('qiyuSdk');
  2. var params = {
  3. source:{
  4. sourceTitle:'网易七鱼APICloud',
  5. sourceUrl:'http://www.qiyukf.com',
  6. sourceCustomInfo:'我是来自自定义的信息'
  7. },
  8. commodityInfo:{
  9. commodityInfoTitle:'APICloud商品',
  10. commodityInfoDesc:'这是来自网易七鱼APICloud的商品描述',
  11. pictureUrl:'http://qiyukf.com/res/img/companyLogo/blmn.png',
  12. commodityInfoUrl:'http://www.qiyukf.com',
  13. note:'¥1000',
  14. show:true
  15. },
  16. sessionTitle:'网易七鱼',
  17. groupId:0,
  18. staffId:0
  19. }
  20. qiyuSdk.openServiceWindow(params);

* setCustomUIConfig

自定义客服聊天窗口UI

  1. setCustomUIConfig(params)
params
参数名类型默认值描述
sessionTipTextColor字符串类型,如’#CC00FF’会话窗口上方提示条中的文本字体颜色
sessionTipTextFontSizeint类型,如15会话窗口上方提示条中的文本字体大小
customMessageTextColor字符串类型,如’#CC00FF’访客文本消息字体颜色
serviceMessageTextColor字符串类型,如’#CC00FF’客服文本消息字体颜色
messageTextFontSizeint类型,如15消息文本消息字体大小
tipMessageTextColor字符串类型,如’#CC00FF’提示文本消息字体颜色
tipMessageTextFontSizeint类型,如15提示文本消息字体大小
inputTextColor字符串类型,如’#CC00FF’输入框文本字体颜色
inputTextFontSizeint类型,如15输入框文本字体大小
sessionBackgroundImage字符串类型,传入图片的绝对路径,如’widget://image/session_bg.png’客服聊天窗口背景图片
sessionTipBackgroundColor字符串类型,如’#CC00FF’会话窗口上方提示条的背景颜色
customerHeadImage字符串类型,传入图片的绝对路径访客头像
serviceHeadImage字符串类型,传入图片的绝对路径客服头像
sessionMessageSpacingfloat类型,如3.5消息竖直方向间距
showHeadImage布尔类型true是否显示头像
naviBarColor字符串类型,如’#CC00FF’导航栏背景颜色
naviBarStyleDark布尔类型false导航栏风格,默认为浅色系,设置为true,可修改为深色系,影响导航栏上的文字、按钮
showAudioEntry布尔类型true是否显示发送语音入口,设置为false,可以修改为隐藏
showEmoticonEntry布尔类型true是否显示发送表情入口,设置为false,可以修改为隐藏
autoShowKeyboard布尔类型true进入聊天界面,是文本输入模式的话,会弹出键盘,设置为false,可以修改为不弹出
示例代码
  1. var qiyuSdk = api.require('qiyuSdk');
  2. var params = {
  3. sessionTipTextColor:'#CC00FF',
  4. sessionTipTextFontSize:20,
  5. customMessageTextColor:'#CC00FF',
  6. serviceMessageTextColor:'#CC00FF',
  7. messageTextFontSize:20,
  8. tipMessageTextColor:'#CC00FF',
  9. tipMessageTextFontSize:20,
  10. inputTextColor:'#CC00FF',
  11. inputTextFontSize:20,
  12. sessionBackgroundImage:'widget://image/session_bg.png',
  13. sessionTipBackgroundColor:'#000000',
  14. customerHeadImage:'widget://image/customer_head.png',
  15. serviceHeadImage:'widget://image/service_head.png',
  16. sessionMessageSpacing:2,
  17. showHeadImage:true,
  18. naviBarColor:'#CC00FF',
  19. naviBarStyleDark:true,
  20. showAudioEntry:false,
  21. showEmoticonEntry:false,
  22. autoShowKeyboard:false
  23. }
  24. qiyuSdk.setCustomUIConfig(params);

* setUrlClickCallback

设置聊天窗口中的链接点击事件回调

  1. setUrlClickCallback(callback)
params
参数名类型默认值描述
callback方法当用户点击链接后将返回链接地址
示例代码
  1. var qiyuSdk = api.require('qiyuSdk');
  2. qiyuSdk.setUrlClickCallback(
  3. function(ret, err){
  4. api.toast({
  5. msg: ret,
  6. duration: 2000,
  7. location: 'bottom'
  8. });
  9. }
  10. );

* setUnreadCountCallback

监听未读消息数,用于更新界面

  1. setUnreadCountCallback(callback)
params
参数名类型默认值描述
callback方法当未读消息数改变后将返回未读消息数
示例代码
  1. var qiyuSdk = api.require('qiyuSdk');
  2. qiyuSdk.setUnreadCountCallback(
  3. function(ret, err){
  4. api.toast({
  5. msg: '未读消息数:' + ret,
  6. duration: 2000,
  7. location: 'bottom'
  8. });
  9. }
  10. );

* getUnreadCount

主动获取未读消息数

  1. getUnreadCount(callback)
params
参数名类型默认值描述
callback方法返回未读消息数
示例代码
  1. var qiyuSdk = api.require('qiyuSdk');
  2. qiyuSdk.getUnreadCount(
  3. function(ret, err){
  4. api.toast({
  5. msg: '未读消息数:' + ret,
  6. duration: 2000,
  7. location: 'bottom'
  8. });
  9. }
  10. );

* setUserInfo

设置CRM个人信息

  1. setUserInfo(params)
params
参数名类型默认值描述
userId字符串类型个人账号Id
data字符串类型用户详细信息json
示例代码
  1. var qiyuSdk = api.require('qiyuSdk');
  2. var params = {
  3. userId:'uid10101010',
  4. data:'[{\"key\":\"real_name\", \"value\":\"土豪\"},{\"key\":\"mobile_phone\", \"hidden\":true},{\"key\":\"email\", \"value\":\"13800000000@163.com\"},{\"index\":0, \"key\":\"account\", \"label\":\"账号\", \"value\":\"zhangsan\", \"href\":\"http://example.domain/user/zhangsan\"},{\"index\":1, \"key\":\"sex\", \"label\":\"性别\", \"value\":\"先生\"},{\"index\":5, \"key\":\"reg_date\", \"label\":\"注册日期\", \"value\":\"2015-11-16\"},{\"index\":6, \"key\":\"last_login\", \"label\":\"上次登录时间\", \"value\":\"2015-12-22 15:38:54\"}]'
  5. }
  6. qiyuSdk.setUserInfo(params);

* logout

注销当前账号

  1. logout()
示例代码
  1. var qiyuSdk = api.require('qiyuSdk');
  2. qiyuSdk.logout();