API接口详情

本文将介绍如何通过AICallKit SDK集成消息对话智能体到您的iOS应用中。

API概览

类/协议

API

说明

ARTCAIChatEngineInterface

消息对话引擎接口定义

state

获取引擎连接状态

userInfo

获取当前参与会话的用户信息

sessionId

获取当前会话的唯一标识

agentInfo

获取当前参与会话的智能体信息

agentResponeState

获取当前智能体响应状态

voiceIdList

获取当前音色列表

delegate

设置和获取回调事件

templateConfig

设置和获取TemplateConfig

userData

用户自定义信息,该信息最终传给智能体

startChat

开始聊天会话

endChat

结束聊天会话

sendMessage

发送消息,发送前会打断当前的回复(如果在思考&回复中)

deleteMessage

删除消息

queryMessageList

请求历史消息列表

interruptAgentResponse

打断当前的消息回复

deleteMessage

删除消息

startPlayMessage

开始播放消息内容

stopPlayMessage

结束消息的播放

isPlayingMessage

是否播放中

createAttachmentUploader

创建附件上传器对象,实现发消息带上图片/视频/文件

startPushVoiceMessage

开始按键语音,按下去时开始录音并实时发送,需确保已经开启录音权限

finishPushVoiceMessage

结束按键语音,松开后时调用,表示当前语音消息发送完毕,等待智能体返回结果

cancelPushVoiceMessage

取消按键语音,松开后时调用,表示取消当前语音消息的发送

destroy

释放资源

parseShareAgentChat

解析一个分享的智能体信息

generateShareAgentChat

启动一个分享的智能体通话

IARTCAIChatEngineCallback

消息对话引擎回调事件

onErrorOccurs

发生了错误

onRequestAuthToken

请求AuthToken,当ChatEngine需要执行IM登录或者IM登录AuthToken后过期时会触发

onEngineStateChange

收到智能体连接状态改变

onReceivedMessage

收到智能体的回复消息,智能体新的回复或者当前回复过程中消息的状态发生了变化都会触发该回调

onReceivedCustomMessage

收到自定义消息

onUserMessageUpdated

用户发送的消息需要更新

onAgentResponeStateChange

收到智能体响应状态改变

onMessagePlayStateChange

收到Chat智能体的消息播放状态改变

ARTCAICallEngineFactory

引擎创建工厂

createChatEngine

创建默认的Chat智能体引擎

API详情

ARTCAIChatEngineInterface详情

state

获取引擎连接状态。ARTCAIChatEngineState详情,请参见ARTCAIChatEngineState

var state: ARTCAIChatEngineState { get }

userInfo

获取当前参与会话的用户信息。ARTCAIChatUserInfo详情,请参见ARTCAIChatUserInfo

var userInfo: ARTCAIChatUserInfo? { get }

sessionId

获取当前会话的唯一标识

var sessionId: String? { get }

agentInfo

获取当前参与会话的智能体信息。ARTCAIChatAgentInfo详情,请参见ARTCAIChatAgentInfo

var agentInfo: ARTCAIChatAgentInfo? { get }

agentResponeState

获取当前智能体响应状态。ARTCAIChatAgentResponseState详情,请参见ARTCAIChatAgentResponseState

var agentResponeState: ARTCAIChatAgentResponseState { get }

voiceIdList

获取当前音色列表

var voiceIdList: [String] { get }

delegate

设置和获取回调事件。ARTCAIChatEngineDelegate详情,请参见ARTCAIChatEngineDelegate

weak var delegate: ARTCAIChatEngineDelegate? { get set }

templateConfig

设置和获取TemplateConfig。ARTCAIChatTemplateConfig详情,请参见ARTCAIChatTemplateConfig

var templateConfig: ARTCAIChatTemplateConfig? { get set }

userData

用户自定义信息,该信息最终传给智能体

var userData: [String: Any]? { get set }

startChat

开始聊天会话

func startChat(userInfo: ARTCAIChatUserInfo, agentInfo: ARTCAIChatAgentInfo, sessionId: String?)

参数详情:

参数

类型

含义

userInfo

ARTCAIChatUserInfo

当前开始会话的用户信息

agentInfo

ARTCAIChatAgentInfo

当前开始会话的智能体消息

sessionId

String?

当前会话的唯一标识,如果为空,则使用userId+agentId作为唯一标识

endChat

结束聊天会话

func endChat(needLogout: Bool)

参数详情:

参数

类型

含义

needLogout

Bool

当前用户实时要退出链接(设置为fals会在下次startChat较少链接耗时,当你后续都不再进行聊天时,可以设置为true)

sendMessage

发送消息,发送前会打断当前的回复(如果在思考&回复中)

func sendMessage(request: ARTCAIChatSendMessageRequest, completed:((_ msg: ARTCAIChatMessage?, _ error: NSError?) -> Void)?)

参数详情:

参数

类型

含义

request

ARTCAIChatSendMessageRequest

要发送的消息内容

completed

(_ msg: ARTCAIChatMessage?, _ error: NSError?) -> Void

发送结果回调

deleteMessage

删除消息

func deleteMessage(message: ARTCAIChatMessage, completed:((_ error: NSError?) -> Void)?)

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

消息对象

completed

((_ error: NSError?) -> Void)?

结果回调

queryMessageList

请求历史消息列表

func queryMessageList(request: ARTCAIChatMessageListRequest, completed:((_ msgList: [ARTCAIChatMessage]?, _ error: NSError?) -> Void)?)  

参数详情:

参数

类型

含义

request

ARTCAIChatMessageListRequest

请求model

completed

(_ msgList: [ARTCAIChatMessage]?, _ error: NSError?) -> Void)?

结果回调

interruptAgentResponse

打断当前的消息回复

func interruptAgentResponse()

deleteMessage

删除消息

func deleteMessage(dialogueId: String, completed:((_ error: NSError?) -> Void)?)

参数详情:

参数

类型

含义

dialogueId

String

消息Id

completed

(_ error: NSError?) -> Void)?

结果回调

startPlayMessage

开始播放消息内容

func startPlayMessage(message: ARTCAIChatMessage, voiceId: String?, completed: ((NSError?) -> Void)?)

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

要播放的消息

voiceId

voiceId

播放的音色

completed

(_ error: NSError?) -> Void)?

结果回调

stopPlayMessage

结束消息的播放

func stopPlayMessage()

isPlayingMessage

是否播放中

func isPlayingMessage(dialogueId: String) -> Bool

createAttachmentUploader

创建附件上传器对象,发送消息时可以通过关联AttachmentUploader实现发消息带上图片/视频/文件

func createAttachmentUploader() -> ARTCAIChatAttachmentUploader?

startPushVoiceMessage

开始按键语音,按下去时开始录音并实时发送,需确保已经开启录音权限

返回true表示成功, 返回false表示失败(一般原因是:当前状态不对、录音权限未开启等)

func startPushVoiceMessage(request: ARTCAIChatSendMessageRequest) -> Bool

参数详情:

参数

类型

含义

request

ARTCAIChatSendMessageRequest

要发送的消息内容

finishPushVoiceMessage

结束按键语音,松开后时调用,表示当前语音消息发送完毕,等待智能体返回结果

func finishPushVoiceMessage(completed:((_ msg: ARTCAIChatMessage) -> Void)?)

参数详情:

参数

类型

含义

completed

(_ msg: ARTCAIChatMessage) -> Void)?

发送结果回调

cancelPushVoiceMessage

取消按键语音,松开后时调用,表示取消当前语音消息的发送

func cancelPushVoiceMessage()

destroy

释放资源

func destroy()

parseShareAgentChat

解析一个分享的智能体信息

func parseShareAgentChat(shareInfo: String) -> ARTCAIChatAgentShareConfig?

参数详情:

参数

类型

含义

shareInfo

String

分享信息

generateShareAgentChat

启动一个分享的智能体通话

func generateShareAgentChat(shareConfig: ARTCAIChatAgentShareConfig, userId: String, completed: ((_ agentInfo: ARTCAIChatAgentInfo?, _ authToken: ARTCAIChatAuthToken?, _ error: NSError?, _ reqId: String) -> Void)?)    

参数详情:

参数

类型

含义

shareConfig

ARTCAIChatAgentShareConfig

分享信息

userId

String

用户id

completed

(_ agentInfo: ARTCAIChatAgentInfo?, _ authToken: ARTCAIChatAuthToken?, _ error: NSError?, _ reqId: String) -> Void)?

结果回调

ARTCAIChatEngineDelegate详情

onErrorOccurs

发生了错误

@objc optional func onErrorOccurs(error: NSError, requestId: String?)

参数详情:

参数

类型

含义

error

NSError

错误信息

requestId

String?

消息请求Id,当不为nil时,该错误属于消息错误

onRequestAuthToken

请求AuthToken,当ChatEngine需要执行IM登录或者IM登录AuthToken后过期时会触发

@objc optional func onRequestAuthToken(userId: String, responseBlock: @escaping (_ authToken: ARTCAIChatAuthToken?, _ error: NSError?)->Void)

参数详情:

onEngineStateChange

收到引擎连接状态改变

@objc optional func onEngineStateChange(state: ARTCAIChatEngineState)

参数详情:

参数

类型

含义

state

ARTCAIChatEngineState

当前智能体链接状态

onReceivedMessage

收到智能体的回复消息,智能体新的回复或者当前回复过程中消息的状态发生了变化都会触发该回调

@objc optional func onReceivedMessage(message: ARTCAIChatMessage)

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

消息对象

onReceivedCustomMessage

收到自定义消息

@objc optional func onReceivedCustomMessage(text: String)

参数详情:

参数

类型

含义

text

String

消息内容

onUserMessageUpdated

用户发送的消息需要更新

@objc optional func onUserMessageUpdated(message: ARTCAIChatMessage)

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

消息对象

onAgentResponeStateChange

收到智能体响应状态改变

@objc optional func onAgentResponeStateChange(state: ARTCAIChatAgentResponseState, requestId: String?)

参数详情:

参数

类型

含义

state

ARTCAIChatAgentResponseState

响应状态

requestId

String?

当前的消息会话

onMessagePlayStateChange

收到智能体的消息播放状态改变

@objc optional func onMessagePlayStateChange(message: ARTCAIChatMessage, state: ARTCAIChatMessagePlayState)

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

消息对象

state

ARTCAIChatMessagePlayState

播放状态

ARTCAICallEngineFactory详情

createChatEngine

创建默认的Chat智能体引擎

public static func createChatEngine() -> ARTCAIChatEngineInterface