V5 智能客服 ios 客户端 SDK 接口 (Ver0.2)

Similar documents
V5 智能客服 Android 客户端 SDK 接口 (Ver0.7)

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

mvc

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

WebEx 一键集成 1 文档目的 Web 集成 URL API 语法 启会 加会 调用 移动集成 wbx schema 调用 取得 sessionticket...4

Microsoft Word - Learn Objective-C.doc

四 本 学 期 Objective-C 课 程 详 细 课 程 大 纲 : Objective-C 实 训 教 程 共 48 课 时, 涉 及 苹 果 开 发 中 的 Objective-C 面 向 对 象 编 程,iOS 开 发 Foundation 类 库 与 数 据 处 理,Objective

安友医疗科技(武汉)有限责任公司

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

六域链联盟 SDChain-Matrix 节点搭建指南 2018/07/26 Version : 1.0.0

新美大酒店开放平台SDK(.NET版)使用说明.pages

手册 doc

关于规范区委、区委办公室发文

Microsoft Word - ??山

Microsoft Word - 助理人員教育訓練-會計室.docx

Chapter #

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 公 开 转 让 说 明 书 不 存 在 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和

南京市人才服务中心

南華大學數位論文

Junos Pulse Mobile Security R1 2012, Juniper Networks, Inc.

<4D F736F F D C4EABCC6CBE3BBFAB4F3C8FCCDA8D6AA E646F63>

<453A5CCEC4B5B55C C41CBAAB2F5D4C6BDD3BFDACAB9D3C3CBB5C3F756312E305F E646F63>

目 录

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

资 讯 速 递 台 基 于 大 数 据 的 学 校 督 导 评 估 系 统 建 设 上 海 市 闵 行 区 人 民 政 府 教 育 督 导 室 ( 摘 要 ) 闵 行 教 育 在 深 化 教 育 改 革 探 索 管 办 评 分 离 的 背 景 下, 把 教 育 督 导 评 估 系 统 建 设 作 为

浙江师范大学2014年度毕业生就业质量报告

目 录 监 管 资 讯 2016 年 全 国 保 险 监 管 工 作 会 议 召 开...3 协 会 动 态 赤 峰 保 险 行 业 协 会 召 开 数 据 统 计 和 信 息 宣 传 总 结 表 彰 会 议...5 赤 峰 市 保 险 行 业 协 会 秘 书 处 召 开 2015 年 度 述 职

同 时, 采 取 提 供 新 闻 线 索 和 素 材 安 排 专 访 等 方 式 主 动 为 新 闻 媒 体 服 务, 为 采 访 报 道 活 动 创 造 便 利 条 件 建 设 网 络 信 息 发 布 平 台 2013 年 9 月 开 通 中 央 纪 委 监 察 部 网 站,2015 年 1 月

大陸教育部等6個部門公佈「現代職業教育體系建設規劃 ( 年)」規劃到2015年初步形成現代職業教育體系框架,到2020年基本建成「中國」特色現代職業教育體系

時間軸上的竹蓮記憶 學務主任 黃雅彙 我不是竹蓮國小的畢業校友 但對於身為新竹人的我來 說 仔細回想起來 似乎和竹蓮有著一種特別的緣分 對竹蓮國小最初的印象是在小學的時候 猶記得年幼的 我經過一段時日的啦啦隊舞蹈訓練後 老師便帶著我們從學 校步行到竹蓮國小來參加比賽 一踏入竹蓮校門 映入眼簾 的是黑

B1

Microsoft Word - 临政办发6.doc

公務員服務法第13條相關解釋彙整表

B1

itestin 能 干 什 么? itestin 是 云 测 ( 提 供 给 广 大 移 动 应 用 测 试 者 或 者 开 发 者 免 费 使 用 的 一 款 安 卓 UI 自 动 化 测 试 录 制 工 具 ( 目 前 只 支 持 Android 应 用 程 序 的

iConnector打通REST服务共用的界限

Guava学习之Resources

计算机网络实验说明

F515_CS_Book.book

百度xx SDK用户手册

使用Cassandra和Spark 2.0实现Rest API服务

21 贵 省 黔 东 南 贵 中 共 天 柱 县 委 党 奥 鹏 学 习 中 贵 省 黔 东 南 天 柱 县 凤 城 镇 环 城 中 共 天 柱 县 委 党 心 [23] 东 路 14 号 贵 省 黔 东 南 贵 省 榕 江 县 古 镇 古 中 路 附 一

更 没 有 高 深 的 思 想, 甚 至 说 不 出 一 点 儿 高 级 的 俏 皮 话 他 们 普 遍 认 为, 生 活 中 的 我 和 电 视 里 的 那 个 人 基 本 上 还 算 表 里 如 一, 但 相 比 之 下 少 了 很 多 趣 味 记 得 有 一 个 女 记 者 采 访 我, 半

此 外, 晚 上 可 以 在 海 滩 东 边 的 剧 场 看 印 象 海 南 岛 的 实 景 演 出 1 可 乘 兴 龙 观 光 巴 士 和 共 速 达 巴 士 游 1 2 路 抵 达, 途 经 白 龙 路 海 府 路 滨 海 大 道 ;2 可 乘 坐 路 公 交 车 到 达

02年杜范本稿

在Spring中使用Kafka:Producer篇

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

七天基于风险测试—Chinatest.ppt

集成推送平台 JAVA 版本 SDK JavaPushSdk 发布说明 ( 请使用最新版本 ) 中央仓库获取 MVN Repository 或者 Central Repository 直接下载获取 Java Server SDK 更新日志 [ ]V

gta 5 serial key number pciker

状 态, 规 划 车 辆 行 驶 路 径, 可 进 入 网 站 充 电 服 务 栏 目 (2) 查 询 位 置 联 系 方 式 营 业 时 间 等 信 息, 可 进 入 网 站 服 务 指 南 栏 目 建 议 您 出 行 前 通 过 易 充 电 互 动 网 站 提 前 了 解 所 经 高 速 快 充

百度xx SDK用户手册

Azure 云端移动开发解决方案示例代码

第 一 章 UI 概 述 单 元 设 计 : 课 题 名 称 :UI 综 述 教 学 任 务 :1 UI 是 什 么? 2 UI 设 计 师 是 做 什 么 的? 3 UI 在 中 国 的 现 状 如 何? 4 数 据 时 代 的 用 户 体 验 (APP 视 觉 设 计 艺 术 ) 教 学 方 式

App Flappy Bird 14 STEP Swift GameKit Xcode 5.1 Swift GameKit MyWord

<4D F736F F D20312D3120D5D0B9C9CBB5C3F7CAE9A3A8C9CFBBE1B8E5A3A92E646F63>

临沂商城信息

<!-- import outer proper

ChinaBI企业会员服务- BI企业

引 言 车 队 管 理 应 用 车 联 网 技 术 的 几 个 必 要 条 件 : 1 是 否 支 持 车 机 插 拔 报 警?( 绝 大 多 数 人 潜 意 识 中 对 被 监 控 和 被 管 理 是 抗 拒 的, 我 们 调 查 了 很 多 现 有 车 队 管 理 系 统, 管 理 者 最 头

Adobe AIR 安全性



<4D F736F F D20322D312D3120D5E3C9CCD6A4C8AFB9C9B7DDD3D0CFDEB9ABCBBEB9D8D3DABFADC8F6B9C9B7DDB7A2D0D0B9C9B7DDBCB0D6A7B8B6CFD6BDF0B9BAC2F2D7CAB2FAB2A2C4BCBCAFC5E4CCD7D7CABDF0F4DFB9D8C1AABDBBD2D7D6AEB6C0C1A2B2C6CEF1B9CBCECAB

公 司 声 明 本 公 司 及 董 事 会 全 体 成 员 监 事 高 级 管 理 人 员 保 证 本 报 告 书 的 内 容 真 实 准 确 和 完 整, 并 对 本 报 告 书 中 的 虚 假 记 载 误 导 性 陈 述 或 者 重 大 遗 漏 承 担 个 别 和 连 带 的 法 律 责 任 如

上述字符串的 MD5 值即为签名的值 (32 位小写 ) 将签名值放在请求的参数中例如 sign=md5_sign 服务端 SDK 调用 API 的应用的私钥 Secret Key 为 appsecret /** parammap 请求参数 secret 密钥 *

xforce keygen microsoft office 2013

腾讯社交广告转化追踪 Android SDK 接入说明文档 V1.2

Mocat

Microsoft Word - 文化2016(2)修改.doc

此文章将会根据不同厂商的 SDK 的接入方式逐步分析, 进而梳理出最为精简的接入方式, 同时说明各个接入配置的细节问题 一接入准备工作 关于组件的基本配置将会全部打包到 aar 中的 AndroidManifest 中, 用户只需要手动配置一些与包名相关的权限配置 1.1 小米 混淆配置 基于 aa

魅族推送平台接入文档 (JAVA-SDK)

財金資訊-83期.indd

ESP-Jumpstart

北京飞利信科技股份有限公司2015年第三季度报告全文

浪潮移动应用平台(IMP) V1.1 开发手册--功能扩展(Android)

一 公 司 特 殊 问 题 问 题 1 关 于 公 司 的 业 务 及 持 续 经 营 能 力 2013 年 度 2014 年 度 2015 年 1-11 月, 公 司 的 营 业 收 入 分 别 为 1,630, 元 699, 元 73, 元 报 告 期 内,

1 政 策 聚 焦 最 高 人 民 法 院 关 于 适 用 中 华 人 民 共 和 国 保 险 法 若 干 问 题 的 解 释 ( 三 ) 中 国 保 监 会 印 发 保 险 业 功 能 服 务 指 标 体 系 2 监 管 动 态 2016 年 全 国 保 险 监 管 工 作 会 议 召 开 --

获取 Access Token 1 基础概念 access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要妥善保存,access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新

TencentYoutuyun-person-face-service php sdk for 腾讯云智能优图服务 & 腾讯优图开放平台 安装 ( 直接下载源码集成 ) 从 github 下载源码装入到您的程序中, 并加载 include.php 名词 AppId 平台添加应用后分配的 AppId

FortiADC SLB Virtual Server L7 方式部署介绍 版本 1.0 时间支持的版本作者状态反馈 2015 年 10 月 FortiADC v4.3.x 刘康明已审核

DVK530/531扩展板

Secoway SVN3000技术建议书V1

PowerPoint 演示文稿

Mohamed

目 录 概 述 背 景 社 会 背 景 行 业 背 景 需 求 分 析..6 3 优 势 分 析 资 源 优 势 品 牌 优 势 技 术 优 势 用 户 体 验.....

“百企入校——广西青年企业家协会高校

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询



X-One 系统看穿式监管 V1.6.3 版本客户端及 API 使用相关说明

Microsoft Word doc

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

Transcription:

V5 智能客服 ios 客户端 SDK 接口 (Ver0.2)

V5 智能客服 ios 客户端 SDK 接口 目录 V5 智能客服 ios 客户端 SDK 接口... 1 1 术语... 1 2 功能说明... 1 3 业务流程... 1 业务结构... 1 交互流程... 2 SDK 工作流程... 3 4 前期准备... 3 开发环境准备... 3 SDK 导入... 4 4.2.1 SDK 文件夹导入... 4 4.2.2 引入依赖库... 4 Info.plist 配置... 4 关于离线消息推送... 5 5 使用 SDK 提供的 UI 快速集成... 5 初始化 SDK... 5 用户信息和参数设置... 6 启动会话界面... 6 生命周期处理... 8 为消息添加自定义参数... 9 6 使用 SDK 接口开发... 10 初始化 SDK... 10 用户信息和参数设置... 10 开启消息服务... 10 消息代理... 10 消息接口调用... 11 生命周期处理... 12 查询会话消息... 12 7 其他事项... 13 深圳市智客网络科技有限公司 www.v5kf.com 1

V5 智能客服 ios 客户端 SDK 接口 版本更新... 13 异常及枚举说明... 13 深圳市智客网络科技有限公司 www.v5kf.com 2

1 术语 应用账号 :V5KF 网站后台 AppSDK 应用配置中的应用账号 站点编号 :V5KF 网站的账号对应的站点编号 ( 可以在 V5KF 官网后台查看或向客服获取 ) Demo 工程 : 使用智能客服系统 SDK 客户端开发的接口使用示例工程 会话界面 : 针对使用本 SDK 的 ios APP 而言, 表示进行对话的一个 UIViewController devicetoken: 推送平台用于标识设备的唯一 ID, 长度为 64 字节以内的字符串 用户 ID(uid): 标识 APP 所登录的用户的唯一 ID, 长度为 64 字节以内的字符串 坐席 : 使用 V5 智能客服系统的客服人员 2 功能说明 V5 智能客服系统客户端可集成到 web APP 等第三方平台提供客户在线咨询服务, 实时接收客户的反馈 支持发送文本 位置 图片以及表情等消息, 并可显示图文 打开链接 本文档介绍 V5 智能客服系统客户端 SDK 的 ios 版本的集成和使用 本 SDK 兼容 ios 7.0 以上, 并为开发者提供 Demo 工程, 可以参照 Demo, 使用 SDK 提供的 UI 快速集成到你的项目中 ; 对 UI 有较高定制需求的开发者可根据 SDK 接口进行开发, 自行开发界面 3 业务流程 业务结构 V5 客户端授权 认 证服务 V5 智能云服务 客户端 图 3-1 应用结构 深圳市智客网络科技有限公司 www.v5kf.com 1

V5 智能云服务 V5 智能云服务, 是连接座席和访客的桥梁 并通过云智能机器人, 提供替代 协助座席进行优质客服的服务 V5 客户端授权 认证服务分发访客接入 V5 智能云服务的凭据服务器 交互流程 客户端首先向 V5 客户端授权 认证服务发送认证信息 (HTTP POST 请求方式 ), 以获取连接 V5 智能云服务的授权信息 ; 用认证成功返回的授权信息向 V5 智能云服务建立会话连接 ; 开启会话, 进行即时消息对话 客户端 V5 网页客户 授权 认证服务 V5 智能云服务 客户认证 返回会话服务器授权信息 开始会话 会话消息 图 3-2 交互流程 深圳市智客网络科技有限公司 www.v5kf.com 2

SDK 工作流程 开始 初始化 SDK 设置用户信息, 连接认证 接收离线通知 点击通知 是否认证成功 Yes 开启消息服务 No 收发即时消息 用户退出 Yes 设置离线推送? No 结束 图 3-3 SDK 工作流程 4 前期准备 开发环境准备 1. V5KF 客服系统账号没有 V5KF 账号需要前往官网注册账号 2. 获得应用账号 站点编号应用账号 站点编号作为 SDK 连接服务端的身份凭证, 可到后台 App SDK 的应用配置界面获取 3. 填写对应平台的推送服务器地址为了使您的 APP 在集成本 SDK 后具有离线消息推送, 建议填写您的推送服务器地 深圳市智客网络科技有限公司 www.v5kf.com 3

址, 同时也支持第三方推送平台, 需要按照本文档规定填写您的 device_token 和绑定的用户 ID 4. 下载 SDK 您可以到 V5KF 官网下载智能客服 SDK, 包含了开发包和带 UI 界面的 Demo 示例工程 5. 环境要求在您集成智能客服 SDK 前环境要求如下 : 支持的最低版本 ios 7.0 支持 ARC 的 Xcode 编译器, 建议使用最新版本 SDK 导入 4.2.1 SDK 文件夹导入 把 V5Client 文件夹拷贝到新创建的工程路径下面, 然后在工程目录结构中, 右键选择 Add Files to 工程名 或者将这个文件夹拖入 XCode 工程目录结构中 4.2.2 引入依赖库 libsqlite3.tbd libicucore.tbd Fundation.framework AudioToolbox.framework Security.framewwork CFNetwork.framework Info.plist 配置 由于 ios 9 的新特性默认使用 ATS, 所有网络请求都需要在安全的连接下 ( 当前 App Store 尚未强制使用 ios 9 这一新特性 ), 所以一些不兼容的服务需要进行额外的配置, 本 SDK 使用到了腾讯地图和图片服务的 webservice 接口, 需在 Info.plist 添加下述配置 : <key>nsapptransportsecurity</key> <dict> <key>nsexceptiondomains</key> <dict> <key>image.myqcloud.com</key> <dict> <key>nsincludessubdomains</key> <true/> 深圳市智客网络科技有限公司 www.v5kf.com 4

<key>nsexceptionallowsinsecurehttploads</key> <true/> </dict> <key>v5kf.com</key> <dict> <key>nsincludessubdomains</key> <true/> <key>nsexceptionallowsinsecurehttploads</key> <true/> </dict> <key>api.map.qq.com</key> <dict> <key>nstemporaryexceptionrequiresforwardsecrecy</key> <false/> </dict> </dict> </dict> 或者简单粗暴点, 直接关闭 ATS, 允许任意站点的 HTTP 连接 : <key>nsapptransportsecurity</key> <dict> <key>nsallowsarbitraryloads</key> <true/> </dict> 关于这一特性的详细说明和解决方案可参考 : https://github.com/chenyilong/ios9adaptationtips 关于离线消息推送 客户离线后消息将通过 APNs 推送到客户端设备, 建议使用第三方推送平台, 需要在代码中填写您 ios 设备上获取的 devicetoken, 并在 V5 后台配置推送平台的信息, 否则离线后接收不到消息 ( 注 : 当前版本尚未验证 APNs 推送功能, 暂不可用, 后续添加 ) 5 使用 SDK 提供的 UI 快速集成 初始化 SDK 将 SDK 文件添加到工程后, 在 AppDelegate 中 import V5ClientAgent.h 文件, 然后在 application: willfinishlaunchingwithoptions: 函数中初始化 SDK 示例如下: - (BOOL)application:(UIApplication )application didfinishlaunchingwithoptions:(nsdictionary )launchoptions { // Override point for customization after application launch. 深圳市智客网络科技有限公司 www.v5kf.com 5

// 初始化 SDK [V5ClientAgent initwithsiteid:@"10000" account:@"v5kf" exceptiondelegate:nil]; } return YES; 其中 siteid 和 account 分别是从 V5 后台可以获取到的站点编号和应用账号 用户信息和参数设置 使用 SDK 提供的 UI 集成, 需要在启动会话界面之前进行用户信息和参数配置 配置项如下 : // 需要 #import "V5ClientAgent.h" // 获得 V5ClientAgent 配置项 V5Config config = [V5ClientAgent shareclient].config; // 设置用户信息 config.nickname = @" 张三 -ios"; config.gender = 1; // 性别 :0- 未知 1- 男 2- 女 //config.avatar = @" 头像 URL"; config.uid = @"uid-for-test-123456"; // 识别用户的标识 // 用户信息单次设置即生效, 更新用户信息或者切换用户时需调用 shouldupdateuserinfo //[config shouldupdateuserinfo]; 启动会话界面 通过简单地添加一个在线咨询按钮即可使用智能客服客户端功能, 在按钮点击事件处理中加入启动会话界面的代码 : V5ChatViewController chatviewcontroller = [V5ClientAgent createchatviewcontroller]; // 不显示底部栏 ( 有底部栏的需加此配置 ) chatviewcontroller.hidesbottombarwhenpushed = YES; //chatviewcontroller.delegate = self; // 页面的代理, 可实现更多自定义需求 //chatviewcontroller.devicetoken = @" 设备的 devicetoken"; // 也可在 config 设置 devicetoken // 允许并设置来消息铃声 SystemSoundID //chatviewcontroller.allowsound = YES; //chatviewcontroller.soundid = 1007; // 设置标题, 默认 V5 客服 //chatviewcontroller.title = @"V5 客服 "; // 设置返回按钮标题, 默认为前一页面标题 //UIBarButtonItem mybackitem = [[UIBarButtonItem alloc] init]; 深圳市智客网络科技有限公司 www.v5kf.com 6

//mybackitem.title = @" 返回 "; //self.navigationitem.backbarbuttonitem = mybackitem; // 启动会话界面, 使用导航模式推出视图 ( 上面为会话界面配置选项, 注释的配置非必须 ) [self.navigationcontroller pushviewcontroller:(uiviewcontroller )chatviewcontroller animated:yes]; 此外, 页面的代理包含的方法如下, 有相应需求的可使用, 非必须 : @protocol V5ChatViewDelegate <NSObject> @optional 即将打开会话视图 - (void)clientviewwillappear; 会话视图打开后 - (void)clientviewdidappear; 即将关闭会话视图 - (void)clientviewwilldisappear; 关闭会话视图后 - (void)clientviewdiddisappear; 用户点击链接, 包括普通 URL(HTML 超链接 ) 图文链接 电话号码 @param url 链接地址 - (void)userclicklink:(nsstring )url linktype:(kv5linktype)linktype; 用户点击位置消息 @param lat 纬度 @param lng 经度 - (void)userclicklocationwithlatitude:(double)lat longitude:(double)lng; 深圳市智客网络科技有限公司 www.v5kf.com 7

用户点击图片消息 @param image 图片 @param url 图片链接 - (void)userclickimagewithimage:(uiimage )image picurl:(nsstring )url; 用户在会话视图中收到消息 @param message 消息对象 - (void)clientdidreceivemessage:(v5message )message; 用户将要发送消息 @param message 将要发送的消息 ( 开发者可修改替换发送内容, 消息类型和方向不可修改 ) @return 修改处理过的消息 - (V5Message )userwillsendmessage:(v5message )message; @end 注 : 点击事件有默认执行动作, 代理设置后会把默认动作覆盖转而执行代理方法内的动作 生命周期处理 在建立连接后收到 onconnect 时需要发送上线消息 : [[V5ClientAgent shareclient] shouldclientonline]; 在用户离开会话界面后, 不需要使用客服对话时, 发送下线消息 : [[V5ClientAgent shareclient] shouldclientoffline]; 在使用 UI 集成的 SDK 中, 不用手动调用上述代码, 需要在 AppDelegate 中添加下面代码 : 深圳市智客网络科技有限公司 www.v5kf.com 8

- (void)applicationdidenterbackground:(uiapplication )application { // 退出到后台时, 告诉 SDK 用户离线 [[V5ClientAgent shareclient] onapplicationdidenterbackground]; } - (void)applicationwillenterforeground:(uiapplication )application { // 移到前台时时, 告诉 SDK 用户在线并连接 [[V5ClientAgent shareclient] onapplicationwillenterforeground]; } 此外, 不使用客服功能时建议关闭会话连接以节省资源, 建议在开启会话界面的前一个界面的 viewdidappear: 方法中调用关闭客服的方法 : - (void)viewdidappear:(bool)animated { // 前一 viewcontroller 中 // 不使用客服功能时退出消息客户端 [[V5ClientAgent shareclient] stopclient]; } 为消息添加自定义参数 用户即将发送的消息可以通过 V5ChatViewDelegate 协议中实现方法 - (V5Message )userwillsendmessage:(v5message )message 获取到即将发送的消息, 并为消息加上自定义参数, 例如 : - (V5Message )userwillsendmessage:(v5message )message { if (userviewsomething) { // 用户浏览某商品的标识 message.customcontent = @{@" 用户等级 ": @"VIP", @" 用户积分 ": @"300", @" 商品名称 ": @" 牛仔裤 ", @" 商品价格 ": @" 168.00"}; userviewsomething = NO; // 标识置为 NO, 单条消息有效 } return message; } 深圳市智客网络科技有限公司 www.v5kf.com 9

6 使用 SDK 接口开发 初始化 SDK SDK 初始化参考 5.1 用户信息和参数设置 参考 5.2 开启消息服务 开启消息服务一般在 UIViewController 页面打开时进行, 具体接口参考如下 : // 开启服务 [[V5ClientAgent shareclient] startclientwithdelegate:self]; 其中 UIViewController 需实现协议 V5MessageDelegate, 初始化内容包括 : 1. 设置消息回调监听器 ; 2. 向 V5 认证服务进行客户端认证, 根据初始化时的站点信息和客户端生成的客户 ID 向认证服务器认证 ( 这之前可进行客户端用户信息设置, 参见 5.2), 获取会话参数 ; 3. 认证成功并返回参数后建立会话连接, 消息服务开启完成 此外, 提供关闭消息服务方法 : [[V5ClientAgent shareclient] stopclient]; // 关闭客户服务 消息代理 消息代理的声明在 V5Delegate.h 中有说明, 会话界面的 UIViewController 需要实现协议 V5MessageDelegate 实现消息接收和发送结果的回调等方法, 具体说明如下 : @protocol V5MessageDelegate <NSObject> 收到即时消息 @param message 消息对象, 元素为 V5Message 类型 - (void)receivev5message:(v5message )message; 收到即时消息 --JSON 字符串 ( 接口扩展预留 ) @param json JSON 字符串消息, 元素为 NSString 类型 深圳市智客网络科技有限公司 www.v5kf.com 10

- (void)receivejsonstring:(nsstring )json; @optional 连接建立成功 ( 其他消息接口需要在连接成功后方可调用 ) - (void)onconnect; 收到异常信息 @param status 异常类型 @param description 异常描述 - (void)receiveexceptionstatus:(kv5exceptionstatus)status desc:(nsstring )description; 发送消息结果 @param message 发送后的消息 ( 包含该消息当前发送状态 ) @param expcetion 失败原因 ( 如果为 0, 则代表发送成功 ) - (void)sendmessageresult:(v5message)message expcetion:(kv5exceptionstatus)expcetion; 获取消息记录完成的回调 @param messages 消息数组, 元素为 V5Message 类型 @param offset 起始位置 @param size 返回消息最大数量 @param finish 是否获取完全部消息 @param expcetion 异常类型 - (void)getmessagesresult:(nsarray<v5message > )messages offset:(nsinteger)offset size:(nsinteger)size finish:(bool)finish expcetion:(kv5exceptionstatus)expcetion; @end 消息接口调用 所有消息接口均在 V5ClientAgent.h 中有说明, 部分接口可参考下面的示例进行调用 深圳市智客网络科技有限公司 www.v5kf.com 11

通用的发送消息接口 : // 通过 V5MessageManager 构造消息对象 V5Message textmessage = [V5MessageManager obtaintextmessagewithcontent:@ " 消息内容 "]; // 通过 sendmessage 方法发送消息对象 [[V5ClientAgent shareclient] sendmessage:textmessage]; 此外, 也可通过下面简便方式发送文本和图片消息 : 发送文本消息 @param content 文本消息 - (V5TextMessage )sendtextmessagewithcontent:(nsstring )content; 发送本地图片 @param image 图片 - (V5ImageMessage )sendimagemessagewithimage:(uiimage )image; 发送消息结果在 V5MessageDelegate 中的方法 sendmessageresult: expcetion: 回调 生命周期处理 参考 5.4 查询会话消息 // 查询会话消息 [[V5ClientAgent shareclient] getmessageswithoffset:0 messagesize:12]; 结果通过 V5MessageDelegate 中的方法 getmessagesresult: offset: size: finish: expcetion: 回调 此外, 提供清空消息缓存的接口 : // 清空消息缓存 [[V5ClientAgent shareclient] clearmessagescache]; 深圳市智客网络科技有限公司 www.v5kf.com 12

7 其他事项 版本更新 SDK 存在新版本时, 请尽量更新到最新版本 SDK, 注意查看文档末尾的更新记录, 以根 据更新内容完成相应修改 异常及枚举说明 文件 关于具体异常信息和枚举变量已在 V5KFDefination.h 中通过注释详细说明, 具体参考该 深圳市智客网络科技有限公司 www.v5kf.com 13

更新记录 2016/01/13 文档版本 Ver0.1,SDK 版本 v1.0.1( 内测初版 ) 1. 说明 : 客服客户端 SDK ios 内测初版 2. 修改 Info.plist 的配置增加一个 http 请求的地址配置 2016/01/18 文档版本 Ver0.2,SDK 版本 v1.0.2 1. 修改 5.4 生命周期处理增加关闭客服连接示例 2. 增加 增加网络连接状态监听, 自动重连 3. 增加 V5Message 增加字典类型属性 customcontent, 支持添加自定义参数到消息, 将透明传输到坐席端, 比如可在用户提问中加入用户刚刚正查看的商品信息, 消息自定义参数仅当次传输有效, 服务端不做保存 4. 删除 去掉用户自定义信息设置( 未生效 ), 替代方式为上面的消息携带自定义参数方式 深圳市智客网络科技有限公司 www.v5kf.com 14