访客iOS SDK
1、使用流程
1、下载SDK
2、导入SDK到工程
3、添加依赖库到工程和项目配置
4、在佳信官网上申请APPKEY
5、用APPKEY初始化SDK
6、用户注册
7、用户登录
8、联系客服进入技能组列表
9、选择技能组
9.1、后台设置机器人优先
9.1.1、和机器人聊天
9.1.2、转人工
9.2、后台设置人工优先
10、转人工服务
10.1、有人工在线
10.1.1、人工繁忙---->等待,取消等待重新选择技能组或留言
10.1.2、接通人工
10.2、无人工在线---->返回选择其他技能组或留言
11、与人工坐席沟通
12、沟通结束后评价客服
13、离开技能组
2、下载SDK
获取佳信移动客服iOS SDK,官网下载:http://jiaxincloud.com/download.html
3、集成SDK和用户登录注册
3.1、导入SDK
3.1.1、添加静态库和头文件
下载好的SDK中包含一个静态库.a文件和相应的头文件夹,将两者导入到创建好的project中。
3.1.2 导入相关依赖库
由于移动客服SDK依赖许多系统提供的库,所以在集成时需要导入这些库,它们是:CFNetwork.framework, SystemConfiguration.framework, libsqlite3.dylib, libresolv.dylib, libxml2.dylib.
向 Build Settings → Linking → Other Linker Flags 中 添加 -ObjC ( 注意大小写 )
向Build Settings → Enable Bitcode 设置改为 NO 。
编译工程
以上步骤进行完后,编译工程,如果没有报错,恭喜你,集成 sdk 成功,可以进行下一步了。
3.1.3、申请APPKEY
需要通过官网http://jiaxincloud.com开发者中心创建应用的APPKEY。创建前先注册账号,已有账号可直接登录。
注册页面如下:
填写邮箱,选中“我同意并遵守《佳信云平台服务协议》”,然后点击“点击这里发送注册邮件”,如下图:
点击“去邮箱验证”按钮,佳信官网会发送一封验证邮件到你的邮箱,里面有个链接,如下图所示:
点击链接弹出如下页面,按要求填写完信息后,点击“提交账号信息”按钮。
注册成功后会出现如下页面,点击“马上登陆体验”;
登陆成功后会点开您刚创建的应用,会出现如下页面:
获取到APPKEY,进入SDK的使用。
3.2、初始化 SDK
方法名称 | SDK初始化 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance] registerSDKWithAppKey:key]; | |||
入参 | 参数名 | 类型 | 说明 | |
key | String | 在佳信官网上申请的appkey | ||
返回值 | 类型 | 说明 | ||
JXError | 错误对象 |
JXError异常errorCode存在如下取值:
错误代码定义 | 说明 |
---|---|
JXErrorTypeSDKInternal | SDK内部错误 |
JXErrorTypeAppKeyNotExist | APPKEY不存在 |
JXErrorTypeOrgnameNotExist | 企业ID不存在 |
JXErrorTypeNotRegisterSDK | 没有注册SDK |
JXErrorTypeRegisterSDKParameterInvalid | 注册SDK参数错误 |
JXErrorTypeOrgnameIllegalCharacter | 公司名含非法字符 |
JXErrorTypeAppnameIllegalCharacter | app名称含非法字符 |
JXErrorTypeOrgnameAndAppnameIllegalCharacter | 公司名和app名称含非法字符 |
JXErrorTypeAppnameLengthInvalid | app名称长度超过20字符 |
3.3、用户注册
通过SDK注册新用户。
方法名称 | 用户注册 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].loginManager registerWithUserName: username password: password callback:callback]; | |||
入参 | 参数名 | 类型 | 说明 | |
username | String | 用户名 | ||
password | String | 密码 | ||
callback | block | 参数为JXError的回调函数 |
注册成功时将回调callback(JXError); (JXError的errorCode为JXErrorTypeSuccess 操作成功)
注册失败时将回调callback(JXError);
失败错误代码存在如下取值:
错误代码定义 | 说明 |
---|---|
JXErrorTypeUsernameIllegalCharacter | 用户名只能输入字母或数字 |
JXErrorTypeUsernameExist | 用户名已存在 |
JXErrorTypeOther | 其他错误 |
3.4、用户登录
方法名称 | 用户登录 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].loginManager loginWithUserName: userName password:passWord]; | |||
入参 | 参数名 | 类型 | 说明 | |
username | String | 用户名 | ||
password | String | 密码 |
JXLoginManagerDelegate代理的回调方法:
登录成功时回调方法: - (void)didLoginSuccess; 登录失败时回调方法: -(void)didLoginFailureWithError:(JXError *)error;
失败参数JXError的errorCode存在如下取值:
错误代码定义 | 说明 |
---|---|
JXErrorTypeLoginUserNameEmpty | 用户名为空 |
JXErrorTypeLoginPasswordEmpty | 密码为空 |
JXErrorTypeLoginUserNameNotExist | 用户名不存在 |
JXErrorTypeLoginPasswordError | 密码错误 |
JXErrorTypeLoginInvalidUsernameOrPassword | 用户名或密码错误 |
JXErrorTypeNetworkDisconnected | 无网络连接 |
JXErrorTypeNetworkTimeout | 网络连接超时 |
JXErrorTypeServerInternal | 服务器内部错误 |
JXErrorTypeServerShutdown | 服务器被关闭 |
JXErrorTypeNoConnection | 与服务端连接未建立 |
3.5、退出登录
方法名称 | 退出登录 |
---|---|
方法 | [[JXIMClient shareInstance]. loginManager logout]; |
JXLoginManagerDelegate代理的回调方法:
退出登录成功时回调方法: - (void)didLoginoutSuccess;
示例代码:
[[JXIMClient shareInstance]. loginManager logout]; 代理回调 - (void)didLogoutSuccess{ }
4、客服服务
4.1、获取客服技能组
4.1.1、通过block回调获得客服技能组
方法名称 | 获取客服技能组 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager fetchCustomServicesWithCallback: callback]; | |||
入参 | 参数名 | 类型 | 说明 | |
callback | Block | 没有返回值,参数为responseObject(技能组列表)和 JXError的回调 | ||
返回值 | 无 |
示例代码:
[[JXIMClient shareInstance].mcsManager fetchCustomServicesWithCallback:^(id responseObject, JXError *error) { if (!error) { get cs success}else{get cs failure }}];
4.1.2、通过返回值获得客服技能组
方法名称 | 获取客服技能组 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager fetchCustomServicesSync]; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
NSArray | 技能组列表的数组 |
示例代码:
NSArray * workGroups = [[JXIMClient shareInstance].mcsManager fetchCustomServicesSync];
4.2、获取满意度
4.2.1、通过block回调获得满意度
方法名称 | 获取满意度 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager fetchEvaluationConfigWithCallback: callback]; | |||
入参 | 参数名 | 类型 | 说明 | |
callback | Block | 没有返回值,参数为res(满意度信息)和 JXError的回调 | ||
返回值 | 无 |
示例代码:
[[JXIMClient shareInstance].mcsManager fetchEvaluationConfigWithCallback:^(id responseObject, JXError *error) { if (!error) { get cs success}else{get cs failure }}];
4.2.2、通过返回值获得满意度
方法名称 | 获取满意度 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager fetchEvaluationConfigSync]; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
JXMcsEvaluation | 满意度对象 |
示例代码:
JXMcsEvaluation * mcsEvaluation= [[JXIMClient shareInstance].mcsManager fetchEvaluationConfigSync];
4.3、获取快捷提问列表
4.3.1、通过block回调获得快捷提问列表
方法名称 | 获取快捷提问列表 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager fetchQuickQuestionsWithCallback: callback]; | |||
入参 | 参数名 | 类型 | 说明 | |
callback | Block | 没有返回值,参数为responseObject(技能组列表)和 JXError的回调 | ||
返回值 | 无 |
示例代码:
[[JXIMClient shareInstance].mcsManager fetchQuickQuestionsWithCallback:^(id responseObject, JXError *error) { if (!error) { get cs success}else{get cs failure }}];
4.3.2、通过返回值获得快捷提问列表
方法名称 | 获取快捷提问列表 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager fetchQuickQuestionsSync]; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
NSArray | 技能组列表的数组 |
示例代码:
NSArray * workGroups = [[JXIMClient shareInstance].mcsManager fetchQuickQuestionsSync];
4.4、获得当前技能组
方法名称 | 获得当前技能组 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager activeService]; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
JXWorkgroup | 技能组对象 |
示例代码:
JXWorkgroup *workgroup = [[JXIMClient shareInstance].mcsManager activeService];
4.5、请求客服进入技能组
方法名称 | 请求客服进入技能组 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager requestCustomerService: service]; | |||
入参 | 参数名 | 类型 | 说明 | |
service | JXWorkgroup | 技能组对象 | ||
返回值 | 无 |
JXMCSManagerDelegate代理的回调方法:
服务状态改变 - (void)didServiceStatusUpdated:(JXWorkgroup *)workgroup ; - 服务结束 -(void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error ; 等待队列的状态更新 - (void)didService:(JXWorkgroup *)workgroup positionChanged:(NSInteger)position;
示例代码:
[[JXIMClient shareInstance].mcsManager requestCustomerService: serviceId]; 服务状态改变 - (void)didServiceStatusUpdated:(JXWorkgroup *)workgroup { } 服务结束 -(void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error { } 等待队列的状态更新 - (void)didService:(JXWorkgroup *)workgroup positionChanged:(NSInteger)position { }
4.6、转人工
方法名称 | 转人工 |
---|---|
方法 | [[JXIMClient shareInstance].mcsManager transferCustomerService]; |
入参 | 无 |
返回值 | 无 |
JXMCSManagerDelegate代理的回调方法:
服务状态改变 -(void)didServiceStatusUpdated:(JXWorkgroup *)workgroup ; 服务结束 -(void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error ;
示例代码:
[[JXIMClient shareInstance].mcsManager requestCustomerService: serviceId]; 相关代理回调 服务状态改变 -(void)didServiceStatusUpdated:(JXWorkgroup *)workgroup { } 服务结束 -(void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error { }
4.7、转机器人
转机器人和请求客服加入技能组是同一方法,就是重新加入该技能组,如果后台配置了机器人优先,则会转到机器人客服。
方法名称 | 请求客服 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager requestCustomerService: service]; | |||
入参 | 参数名 | 类型 | 说明 | |
service | JXWorkgroup | 技能组对象 | ||
返回值 | 无 |
JXMCSManagerDelegate代理的回调方法:
服务状态改变 - (void)didServiceStatusUpdated:(JXWorkgroup *)workgroup ; - 服务结束 -(void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error ; 等待队列的状态更新 - (void)didService:(JXWorkgroup *)workgroup positionChanged:(NSInteger)position;
示例代码:
[[JXIMClient shareInstance].mcsManager requestCustomerService: serviceId]; 服务状态改变 - (void)didServiceStatusUpdated:(JXWorkgroup *)workgroup { } 服务结束 -(void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error { } 等待队列的状态更新 - (void)didService:(JXWorkgroup *)workgroup positionChanged:(NSInteger)position { }
4.8、取消等待
方法名称 | 取消等待客服服务 |
---|---|
方法 | [[JXIMClient shareInstance].mcsManager cancelWait]; |
入参 | 无 |
返回值 | 无 |
示例代码:
[[JXIMClient shareInstance].mcsManager cancelWait];
4.9、离开技能组(访客主动结束会话)
方法名称 | 离开技能组(访客主动结束会话) |
---|---|
方法 | [[JXIMClient shareInstance].mcsManager leaveService]; |
入参 | 无 |
返回值 | 无 |
JXMCSManagerDelegate代理的回调方法:
收到评价请求 -(void)didReceiveEvaluationRequest:(JXWorkgroup *)workgroup; 服务状态改变 -(void)didServiceStatusUpdated:(JXWorkgroup *)workgroup; 服务结束 - (void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error;
示例代码:
[[JXIMClient shareInstance].mcsManager leaveService]; 代理回调 收到评价请求 -(void)didReceiveEvaluationRequest:(JXWorkgroup *)workgroup{ } 服务状态改变 -(void)didServiceStatusUpdated:(JXWorkgroup *)workgroup { } 服务结束 - (void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error { }
4.10、发送满意度评价
方法名称 | 发送满意度评价 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager evaluateService: service andScore: scoreandCallback: callback]; | |||
入参 | 参数名 | 类型 | 说明 | |
service | JXWorkgroup | 技能组对象 | ||
score | NSInteger | 满意度评价分数 | ||
callback | block | 没有返回值,参数为error的block | ||
返回值 | 无 |
示例代码:
[[JXIMClient shareInstance].mcsManager evaluateService: service andScore: scoreandCallback: callback];
4.11、在线留言
留言是加载H5网页来做的,不同技能组的H5网页的URL不一样,获得URL以后,用webview加载出来。
方法名称 | 在线留言 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].mcsManager leaveMessageURL: service]; | |||
入参 | 参数名 | 类型 | 说明 | |
service | JXWorkgroup | 技能组对象 | ||
返回值 | 类型 | 说明 | ||
NSURL | 留言H5网页的URL |
4.12、获得开发者中心配置
在获取配置之前,先更新开发者中心配置,然后就获得了服务端返回的各项配置。
4.12.1、更新开发者中心配置
方法名称 | 更新开发者中心配置 |
---|---|
方法 | [JXAppConfig updateConfig]; |
入参 | 无 |
返回值 | 无 |
4.12.2、是否开启预知消息
方法名称 | 是否开启预知消息 | |||
---|---|---|---|---|
方法 | [JXAppConfig sharedInstance].prepareFlag; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
BOOL | YES为开启,NO为不开启 |
4.12.3、获得客服头像网址
方法名称 | 获得客服头像网址 | |||
---|---|---|---|---|
方法 | [JXAppConfig sharedInstance].agentHeadImg; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
NSString | 图片的网址字符串 |
4.12.4、是否开启访客满意度评价
方法名称 | 是否开启访客满意度评价 | |||
---|---|---|---|---|
方法 | [JXAppConfig sharedInstance].visitorSatisfyFlag; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
BOOL | YES为开启,NO为不开启 |
4.12.5、访客是否能发送表情
方法名称 | 访客是否能发送表情 | |||
---|---|---|---|---|
方法 | [JXAppConfig sharedInstance].userEmoticonFlag; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
BOOL | YES为能,NO为不能 |
4.13、获得满意度评价后的感谢语
方法名称 | 获得满意度评价后的感谢语 | |||
---|---|---|---|---|
方法 | [[JXIMClient sharedInstance].mcsManager fetchEvaluationConfigSync].thanksMsg; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
NSString | 感谢语字符串 |
4.14、添加客服事件监听器
方法名称 | 添加客服事件监听器 | |||
---|---|---|---|---|
方法 | [[JXIMClient sharedInstance].chatManager addDelegate:delegate]; | |||
入参 | 参数名 | 类型 | 说明 | |
delegate | id | 添加代理来监听事件回调 |
JXMCSManagerDelegate代理的回调:
技能组服务状态改变的回调 - (void)didServiceStatusUpdated:(JXWorkgroup *)workgroup; 技能组等待位置改变的回调 - (void)didService:(JXWorkgroup *)workgroup positionChanged:(NSInteger)position; 服务结束的回调 - (void)didServiceEnd:(JXWorkgroup *)workgroup withError:(JXError *)error; 接收到满意度评价邀请的回调 - (void)didReceiveEvaluationRequest:(JXWorkgroup *)workgroup; 机器人多次回答错误收到转人工要求 - (void)didReceiveTransferCustomerServiceRequest:(JXWorkgroup *)workgroup;
4.15、移除客服事件监听器
方法名称 | 移除客服事件监听器 | |||
---|---|---|---|---|
方法 | [[JXIMClient sharedInstance].chatManager addDelegate:nil]; | |||
入参 | 参数名 | 类型 | 说明 | |
delegate | nil | 移除代理就无法监听 |
5、聊天相关
5.1、获取会话列表
方法名称 | 获取会话列表 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].chatManager sessionList]; | |||
入参 | 无 | |||
返回值 | 类型 | 说明 | ||
NSArray | 会话对象JXConversation的列表 |
示例代码:
NSArray *sessionArray = [[JXIMClientshareInstance].chatManager sessionList];
5.2、获取单条会话
方法名称 | 获取单条会话 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].chatManager conversationForChatter:chatter andType: type]; | |||
入参 | 参数名 | 类型 | 说明 | |
Chatter | String | 会话的唯一标识 | ||
type | JXConversationType | 会话类型 | ||
返回值 | 类型 | 说明 | ||
JXConversation | 返回chatter对应的JXConversation对象 |
示例代码:
JXConversation *session = [[JXIMClientshareInstance].chatManagerconversationForChatter:chatterandType:JXConversationTypeCS];
5.3、获取单条消息
方法名称 | 获取单条消息 | |||
---|---|---|---|---|
方法 | [session messageForId:messageId]; | |||
入参 | 参数名 | 类型 | 说明 | |
messageId | String | 消息的Id | ||
返回值 | 类型 | 说明 | ||
JXMessage | 返回messageId对应的JXMessage对象 |
示例代码:
JXConversation *session; //获取会话 [session messageForId:messageId];
5.4、添加消息到会话
方法名称 | 添加消息到会话 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].chatManager addMessage:message]; | |||
入参 | 参数名 | 类型 | 说明 | |
message | JXMessage | 收到新消息时需要加入会话消息列表 |
示例代码:
[[JXIMClient shareInstance].chatManager addMessage:message];
5.5、设置消息内容
5.5.1、设置文本消息的内容
方法名称 | 设置文本消息的内容 | |||
---|---|---|---|---|
方法 | [message setTextContent:content]; | |||
入参 | 参数名 | 类型 | 说明 | |
content | String | 文本消息的内容 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.2、设置文件消息的内容
方法名称 | 设置文件消息的内容 | |||
---|---|---|---|---|
方法 | [message setFileContent:data]; | |||
入参 | 参数名 | 类型 | 说明 | |
data | NSData | 文件消息的内容 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.3、设置图片消息的内容
方法名称 | 设置图片消息的内容 | |||
---|---|---|---|---|
方法 | [message setImageContent:imageData compressionRate:rate]; | |||
入参 | 参数名 | 类型 | 说明 | |
imageData | NSData | 图片消息的内容 | ||
rate | CGFloat | 旋转角度 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.4、设置音频消息的内容
方法名称 | 设置音频消息的内容 | |||
---|---|---|---|---|
方法 | [message setAudioContent:filePath duration:duration]; | |||
入参 | 参数名 | 类型 | 说明 | |
filePath | NSString | 音频消息的路径 | ||
duration | NSInteger | 音频消息的时长 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.5、设置视频消息的内容
方法名称 | 设置视频消息的内容 | |||
---|---|---|---|---|
方法 | [message setVideoContent:filePath thumbPath:thumbPath]; | |||
入参 | 参数名 | 类型 | 说明 | |
filePath | NSString | 视频消息的路径 | ||
thumbPath | NSString | 视频消息缩略图的路径 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.6、设置位置消息的内容
方法名称 | 设置位置消息的内容 | |||
---|---|---|---|---|
方法 | [message setLocContent:label latitude:latitude longitude:longitude]; | |||
入参 | 参数名 | 类型 | 说明 | |
label | NSString | 位置标题 | ||
latitude | double | 纬度 | ||
longitude | double | 经度 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.7、设置富文本消息的内容
方法名称 | 设置富文本消息的内容 | |||
---|---|---|---|---|
方法 | [message setRichTextContent:contenttitle:titlelinkURL:urlimage:imageData]; | |||
入参 | 参数名 | 类型 | 说明 | |
content | NSString | 消息的内容 | ||
title | NSString | 消息的标题 | ||
url | NSString | 富文本消息中链接的网址 | ||
imageData | NSData | 富文本消息中图片的内容 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.8、设置提示消息的内容
方法名称 | 设置提示消息的内容 | |||
---|---|---|---|---|
方法 | [message setTipsContent:tips]; | |||
入参 | 参数名 | 类型 | 说明 | |
tips | NSString | 提示消息的内容 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.5.9、设置预知消息的内容
方法名称 | 设置预知消息的内容 | |||
---|---|---|---|---|
方法 | [message setForeseeContent:content andType:type]; | |||
入参 | 参数名 | 类型 | 说明 | |
content | String | 消息的内容 | ||
type | JXMessageType | 消息的类型 | ||
返回值 | 类型 | 说明 | ||
BOOL | YES为设置成功,NO为设置失败 |
5.6、发送消息
方法名称 | 发送消息 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].chatManager sendMessage:message]; | |||
入参 | 参数名 | 类型 | 说明 | |
message | JXMessage | 发送的消息对象 |
示例代码:
[[JXIMClientshareInstance].chatManagersendMessage:message];
5.7、删除单条消息
方法名称 | 删除单条消息 | |||
---|---|---|---|---|
方法 | [session deleteMessage:message]; | |||
入参 | 参数名 | 类型 | 说明 | |
message | JXMessage | 要删除的消息对象 |
示例代码:
JXConversation *session; [session deleteMessage:message];
5.8、删除单条会话
方法名称 | 删除单条会话 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].chatManager destoryConversation:conversation]; | |||
入参 | 参数名 | 类型 | 说明 | |
conversation | JXConversation | 会话对象 |
示例代码:
JXConversation *session; //目标会话 [[JXIMClientshareInstance].chatManagerdestoryConversation:session];
5.9、下载文件消息
方法名称 | 下载文件消息 | |||
---|---|---|---|---|
方法 | [[JXIMClient shareInstance].chatManager downloadAttachmentForMessage:message result:callback progress:progressBlock]; | |||
入参 | 参数名 | 类型 | 说明 | |
message | JXMessage | 消息对象 | ||
callback | block | 参数为result和JXError的block,下载完成后会调用这个Block的方法 | ||
progressBlock | block | 参数为progress的block,下载过程中会调用这个biock,监控下载进度 |
示例代码:
[[JXIMClientshareInstance].chatManagerdownloadAttachmentForMessage:modelresult:^(id result, JXError *error){ if (error) { //下载附件失败}else{ //下载附件成功 }
5.10、获取历史消息
方法名称 | 获取会话的历史消息 | |||
---|---|---|---|---|
方法 | [conversation loadMessagesBefore:message count:count]; | |||
入参 | 参数名 | 类型 | 说明 | |
message | JXMessage | 消息对象 | ||
count | Int | 消息条数 | ||
返回值 | 类型 | 说明 | ||
NSArray | 历史消息数组 |
示例代码:
NSArray *loading = [weakSelf.conversation loadMessagesBefore:message count:weakSelf.messageCountOfPage];