JCSDK-iOS
构造函数 | 类方法 | 属性 | 所有成员列表
JCGuest类 参考

访客模块 更多...

#import <JCGuest.h>

构造函数

(bool) - queryAllGroups
 
(bool) - call:callParams:
 
(bool) - oneToOneCall:callParams:
 
(bool) - setRatio:
 
(bool) - setScreenMode:
 
(void) - setRequestSize:
 
(bool) - term
 
(bool) - enableAudio:
 
(bool) - enableVideo:
 
(bool) - sendVideoEmptyPack:
 
(bool) - sendAudioEmptyPack:
 
(bool) - enableScreenShare:
 
(bool) - requestVideo:pictureSize:
 
(bool) - requestUrgent
 
(bool) - enableLocalRecord:path:
 
(bool) - enableLocalRecord:recordParam:
 
(bool) - enableRemoteRecord:recordParam:
 
(bool) - sendMessage:content:
 
(bool) - sendMessage:content:toUserId:
 
(bool) - insertStorageRecord:fileType:fileSize:expireTime:
 
(bool) - setLineUpTag:
 
(bool) - getHoldState
 
(void) - turnCallType:
 
(JCGuestCallType- getCallType
 
(void) - sendTextMessage:toUserId:
 

类方法

(JCGuest *) + create:mediaDevice:callback:
 
(void) + destroy
 

属性

JCGuestCallState callState
 当前通话状态
 
JCMediaChannelParticipantagentParticipant
 通话中可以取得正在通话的座席对象
 
NSArray< JCMediaChannelParticipant * > * participants
 通话中的所有成员
 
NSString * statistics
 媒体统计信息
 
NSString * shareRenderId
 屏幕共享时的渲染id,无屏幕共享时为空
 
NSString * shareUserId
 屏幕共享时的共享成员id,无屏幕共享时为空
 
int spkLevel
 当前扬声器音量级别
 
int micLevel
 当前本地记录音量级别
 
NSString * serialNumber
 服务唯一标识,上层可使用该参数通过portal第三方接口查询到话务信息,如录制视频文件的URL
 

详细描述

访客模块

函数文档

◆ call:callParams:

- (bool) call: (NSString *)  number
callParams: (JCGuestCallParam *)  callParam 

发起呼叫

注解
通话的状态都会通过onCallStateChanged上报
参数
number组号,如10086
callParam参数设置,可以设置通话分辨率、全局宽高比等参数
返回
接口调用成功失败

◆ create:mediaDevice:callback:

+ (JCGuest *) create: (JCClient *)  client
mediaDevice: (JCMediaDevice *)  mediaDevice
callback: (id<JCGuestCallback>)  callback 

创建 JCGuest 对象,为单例,重复调用返回同一对象

注解
  • JCGuest 的所有接口函数,如无特殊说明,都建议再主线程调用
  • 请确保在调用其他 API 前先调用该方法创建并初始化 JCClient 对象,JCMediaDevice 对象,JCGuestCallback 对象
  • 调用此方法前确保 JCClient 已完成初始化,即 state 方法获取的状态值不等于 JCClientStateNotInit 调用此方法创建 JCGuest 对象后,期间没有调用过 destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JCGuest 对象
参数
clientJCClient 对象
mediaDeviceJCMediaDevice 对象
callbackJCGuestCallback 回调

◆ destroy

+ (void) destroy

销毁 JCGuest 对象

注解
  • 该方法为同步调用,需要等待 JCGuest 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JCGuest 的其他方法和回调
  • 我们不建议再JCSDK的回调中调用此方法销毁 JCGuest 对象,否则会出现崩溃
  • 如需在销毁后再次创建 JCGuest 实例,需要等待 destroy 方法执行结束后再创建实例

◆ enableAudio:

- (bool) enableAudio: (bool)  enable

开启关闭发送本地音频流

注解
参数
enable是否开启本地音频流
返回
接口调用成功返回 true,失败返回 false

◆ enableLocalRecord:path:

- (bool) enableLocalRecord: (bool)  enable
path: (NSString *)  path 

本地录制

参数
enable开启关闭
path录制路径
返回
返回 true 表示正常执行调用流程,false 表示调用异常

◆ enableLocalRecord:recordParam:

- (bool) enableLocalRecord: (bool)  enable
recordParam: (JCMediaChannelRecordLocalParams *)  recordParam 

本地录制

参数
enable开启关闭
recordParam录制参数对象
返回
返回 true 表示正常执行调用流程,false 表示调用异常

◆ enableRemoteRecord:recordParam:

- (bool) enableRemoteRecord: (bool)  enable
recordParam: (JCMediaChannelRecordRemoteParams*)  recordParam 

开关远程视频录制

注解
视频客服场景下由CD自动开启录制,即无特殊情况无需调用此接口即可在服务器生成录制文件
参数
enable是否开启屏幕录制
recordParamrecordParam 录制参数,当 enable 为 true 时,可以更改由 join 时传入的录制参数,不需更改则填 null
返回
返回true表示调用成功,false表示调用失败

◆ enableScreenShare:

- (bool) enableScreenShare: (bool)  enable

屏幕共享

注解
会触发onCallPropertyChange回调
参数
enabletrue开启共享,false关闭共享
返回
接口调用成功失败

◆ enableVideo:

- (bool) enableVideo: (bool)  enable

开启关闭发送本地视频流

注解
参数
enable是否开启本地视频流
返回
接口调用成功返回 true,失败返回 false

◆ getCallType

- (JCGuestCallType) getCallType

获取当前通话类型

返回
当前通话类型
参见
JCGuestCallType

◆ getHoldState

- (bool) getHoldState

当前通话是否保持

返回
当前通话是否保持
  • true:当前通话状态为保持
  • false:当前通话状态为取回

◆ insertStorageRecord:fileType:fileSize:expireTime:

- (bool) insertStorageRecord: (NSString *)  url
fileType: (JCGuestStorageFileType fileType
fileSize: (int)  fileSize
expireTime: (int)  expireTime 

把文件绑定到当前的服务,以便通过 portal 查看文件

参数
url文件路径,在文件通过uploadFile上传至文件服务后,由onFileResult返回
fileType文件类型
fileSize文件大小
expireTime超时时间
返回
接口调用结果

◆ oneToOneCall:callParams:

- (bool) oneToOneCall: (NSString *)  number
callParams: (JCGuestCallParam *)  callParam 

呼叫到指定坐席

注解
通话的状态都会通过onCallStateChanged上报
参数
number坐席 id,如agent1
callParam参数设置,可以设置通话分辨率、全局宽高比等参数
返回
接口调用成功失败

◆ queryAllGroups

- (bool) queryAllGroups

查询业务组号,结果通过onGetAllGroups上报

返回
接口调用成功失败

◆ requestUrgent

- (bool) requestUrgent

请求加急,坐席同意加急后将会插队到队列最前

注解
管理员权限的坐席收到请求后会触发onUrgentRequestRecv事件
返回
接口调用成功返回 true,失败返回 false

◆ requestVideo:pictureSize:

- (bool) requestVideo: (JCMediaChannelParticipant *)  participant
pictureSize: (JCMediaChannelPictureSize pictureSize 

按设置的尺寸请求指定成员的视频画面 当 pictureSize 为 JCMediaChannelPictureSizeNone 表示关闭请求

参数
participant频道中其他成员对象
pictureSize请求大小
返回
接口调用成功失败

◆ sendAudioEmptyPack:

- (bool) sendAudioEmptyPack: (bool)  empty

音频发送空包 该接口不会导致成员的audio属性变化

参数
empty音频发送包是否空包
  • true:发送音频空包
  • false:发送正常音频包
返回
接口调用成功返回 true,失败返回 false

◆ sendMessage:content:

- (bool) sendMessage: (NSString *)  type
content: (NSString *)  content 

透明通道发送全员消息,消息内容不能大于4K

注解
收端会触发onMessageReceive事件
参数
type消息类型
content消息内容
返回
接口调用结果

◆ sendMessage:content:toUserId:

- (bool) sendMessage: (NSString *)  type
content: (NSString *)  content
toUserId: (nullable NSString *)  userId 

透明通道发送消息给某个成员,UserId传空则发送给所有成员,消息内容不能大于4K

注解
收端会触发onMessageReceive事件
参数
type消息类型
content消息内容 userId 不为null时,content 不能大于4k
userId对象id
返回
接口调用结果

◆ sendTextMessage:toUserId:

- (void) sendTextMessage: (NSString *)  content
toUserId: (NSString *)  userId 

发送文本消息

注解
通话中的其他成员会收到onTextMessageRecvNotify事件
参数
content消息内容
userId三人及三人以上时可以指定要发送的ID,传空即发送给所有人

◆ sendVideoEmptyPack:

- (bool) sendVideoEmptyPack: (bool)  empty

视频发送空包 该接口不会导致成员的video属性变化

参数
empty视频发送包是否空包
  • true:发送视频空包
  • false:发送正常视频包
返回
接口调用成功返回 true,失败返回 false

◆ setLineUpTag:

- (bool) setLineUpTag: (JCGuestTagType tagType

设置排队标签

参数
tagType排队标签
返回
接口调用结果

◆ setRatio:

- (bool) setRatio: (float)  ratio

设置视频本地宽高比,会将自己的视频采集根据宽高比裁剪后进行发送

注解
需要在通话开始后调用,即收到onCallStateChanged的type为 JCGuestCallStateChangeType.JCGuestCallStateChangeTypeTalking
参数
ratio视频本地宽高比
返回
接口调用是否成功

◆ setRequestSize:

- (void) setRequestSize: (JCMediaChannelPictureSize size

设置视频请求尺寸

参数
size尺寸

◆ setScreenMode:

- (bool) setScreenMode: (JCMediaChannelConfMergeModeParam *)  param

设置分屏模式

参数
param媒体推流的视频合并模式参数
返回
返回 true 表示成功,false 表示失败

◆ term

- (bool) term

结束通话

返回
接口调用成功返回 true,失败返回 false

◆ turnCallType:

- (void) turnCallType: (JCGuestCallType calltype

音视频通话切换

注解
参数
calltype
参见
JCGuestCallType