通过阅读本文,您可以了解Android SDK接口详情。
API概览
类/协议 | API | 说明 |
ARTCAIChatEngine 消息对话引擎接口定义 | 注册消息对话引擎回调。 | |
释放资源。 | ||
设置消息对话配置的参数项,如果不需要设置业务参数,可不调用 | ||
用户自定义信息,该信息最终传给智能体,业务自定义扩展字段 | ||
开始聊天。 | ||
结束聊天。 | ||
发送文本消息。 | ||
开始按键语音。 | ||
结束按键语音。 | ||
取消按键语音。 | ||
中断智能体输出。 | ||
删除消息。 | ||
获取历史消息列表。 | ||
获取智能体信息。 | ||
开始文本朗读。 | ||
停止文本朗读。 | ||
是否文本朗读中。 | ||
当前文本朗读音色列表。 | ||
当前使用的音色。 | ||
获取当前智能体的回复状态。 | ||
创建附件上传器对象,附件类型可以是图片、文件等 | ||
获取当前引擎状态。 | ||
解析一个分享的智能体信息。 | ||
启动一个分享的智能体消息对话。 | ||
IARTCAIChatEngineCallback 消息对话引擎回调事件 | 请求鉴权token,必须要实现的回调。 | |
引擎状态发生变化。 | ||
接收到消息时回调。 | ||
当用户发送的消息里某些字段更新后会触发该回调。 | ||
当智能体响应状态发生变化时调用的方法。 | ||
文本朗读播放状态改变。 | ||
发生了错误。 | ||
ARTCAIChatAttachmentUploader 附件上传器类 | 注册附件上传回调 | |
添加附件对象 | ||
删除附件对象 | ||
获取附件列表 | ||
所有附件是否都上传成功 | ||
IARTCAIChatAttachmentUploadCallback 附件上传进度回调类 | 上传成功回调 | |
上传失败回调 | ||
上传进度 |
API详情
ARTCAIChatEngine详情
setEngineCallback
注册回调
/**
* 注册回调
* @param engineCallback
*/
public abstract void setEngineCallback(ARTCAIChatEngine.IARTCAIChatEngineCallback engineCallback);
参数详情:
参数 | 类型 | 含义 |
engineCallback | IARTCAIChatEngineCallback | 引擎回调 |
destory
释放资源
/**
* 释放资源
*/
public abstract void destory();
setTemplateConfig
设置消息对话配置的参数项,如果不需要设置业务参数,可不调用
public abstract void setTemplateConfig(ARTCAIChatTemplateConfig templateConfig);
参数详情:
参数 | 类型 | 含义 |
templateConfig | 用于消息对话的TemplateConfig参数 |
setUserData
用户自定义信息,该信息最终传给智能体,业务自定义扩展字段
public abstract void setUserData(String userData);
参数详情:
参数 | 类型 | 含义 |
userData | String | 用户自定义信息 |
startChat
开始聊天
/**
* 开始聊天
* @param userInfo
* @param agentInfo
* @param sessionId 当前会话的唯一标识,如果为空,则使用userId+agentId作为唯一标识
*/
public abstract void startChat(ARTCAIChatUserInfo userInfo, ARTCAIChatAgentInfo agentInfo, String sessionId);
参数详情:
参数 | 类型 | 含义 |
userInfo | 用户信息,userId不可为空,可以使用业务的用户ID | |
agentInfo | 智能体信息,agentId不可为空 | |
sessionId | String | 当前会话的唯一标识,如果为空,则使用userId+agentId作为唯一标识,使用sessionId来关联用户和智能体对话的所有聊天记录 |
endChat
结束聊天
/**
* 结束聊天
* @param needLogout
*/
public abstract void endChat(boolean needLogout);
参数详情:
参数 | 类型 | 含义 |
needLogout | boolean | 是否结束聊天并登出IM |
sendMessage
发送文本消息
/**
* 发送文本消息
* @param request
*/
public abstract void sendMessage(ARTCAIChatSendMessageRequest request, IARTCAIChatMessageCallback callback);
参数详情:
参数 | 类型 | 含义 |
request | 发送消息请求 | |
callback | IARTCAIChatMessageCallback | 发送文本消息回调 |
startPushVoiceMessage
开始按键语音消息
/**
* 开始按键语音
* @param request
*/
public abstract boolean startPushVoiceMessage(ARTCAIChatSendMessageRequest request);
参数详情:
参数 | 类型 | 含义 |
request | 发送消息请求 |
finishPushVoiceMessage
结束按键语音消息
/**
* 结束按键语音
* @param callback
*/
public abstract void finishPushVoiceMessage( IARTCAIChatMessageCallback callback);
参数详情:
参数 | 类型 | 含义 |
request | IARTCAIChatMessageCallback | 发送按键语音消息回调 |
cancelPushVoiceMessage
结束按键语音消息
/**
* 取消按键语音
*/
public abstract void cancelPushVoiceMessage();
interruptAgentResponse
中断智能体输出
/**
* 中断智能体输出
*/
public abstract void interruptAgentResponse();
deleteMessage
删除消息
/**
* 删除消息
* @param message
*/
public abstract void deleteMessage(ARTCAIChatMessage message, IARTCAIChatMessageCallback callback);
参数详情:
参数 | 类型 | 含义 |
message | 需要删除的消息记录 | |
callback | IARTCAIChatMessageCallback | 删除消息回调 |
queryMessageList
获取历史消息列表
/**
* 获取历史消息列表
* @param request 请求model
* @param callback
*/
public abstract void queryMessageList(ARTCAIChatMessageListRequest request, IARTCAIChatHistoryMessageCallback callback);
参数详情:
参数 | 类型 | 含义 |
message | 历史消息列表请求 | |
callback | IARTCAIChatHistoryMessageCallback | 请求历史消息列表回调 |
getAgentInfo
获取智能体信息
/**
* 获取智能体信息
*/
public abstract ARTCAIChatAgentInfo getAgentInfo();
startPlayMessage
开始文本朗读
/**
* 开始文本朗读
* @param message 要播放的消息
* @param voiceId 播放的音色
* @param callback 回调消息
*/
public abstract void startPlayMessage(ARTCAIChatMessage message, String voiceId, IARTCAIChatMessageCallback callback);
参数详情:
参数 | 类型 | 含义 |
message | 开始文本朗读的消息 | |
voiceId | String | 播放的音色 |
callback | IARTCAIChatMessageCallback | 文本朗读的回调 |
stopPlayMessage
停止文本朗读
/**
* 停止播放消息内容
*/
public abstract void stopPlayMessage();
isPlayingMessage
是否正在文本朗读中
/**
* 是否正在文本朗读中
*/
public abstract boolean isPlayingMessage(String messageId);
参数详情:
参数 | 类型 | 含义 |
messageId | String | 当前消息是否正在文本朗读中 |
getVoiceList
当前音色列表
/**
* 当前音色列表
*/
public abstract List<String> getVoiceList();
getCurrentVoice
当前使用的音色
/**
* 当前使用的音色
*/
public abstract String getCurrentVoice();
getCurrentAIChatAgentState
获取当前智能体的回复状态
/**
* 获取当前智能体的回复状态
*/
public abstract ARTCAIChatAgentState getCurrentAIChatAgentState();
createAttachmentUploader
创建附件上传器对象,附件类型可以是图片、文件等
/**
* 创建附件上传器对象,只能创建一个
* @return
*/
public abstract ARTCAIChatAttachmentUploader createAttachmentUploader()
getEngineState
获取当前引擎状态
/**
* 获取当前引擎状态
*/
public abstract ARTCAIChatEngineState getEngineState();
parseShareConfig
解析一个分享的智能体信息
/**
* 解析一个分享的智能体信息
* @param shareInfo
* @return
*/
public abstract ARTCAIChatAgentShareConfig parseShareConfig(String shareInfo);
参数详情:
参数 | 类型 | 含义 |
shareInfo | String | 分享智能体的String |
generateShareAgentChat
启动一个分享的智能体消息对话
/**
* 启动一个分享的智能体消息对话
* @param shareConfig
* @param userId
* @param callback
*/
public abstract void generateShareAgentChat(ARTCAIChatAgentShareConfig shareConfig, String userId, IARTCAIChatGenerateShareAgentCallback callback);
参数详情:
参数 | 类型 | 含义 |
shareConfig | ARTCAIChatAgentShareConfig | 分享智能体的配置信息 |
userId | String | 用户Id |
callback | IARTCAIChatGenerateShareAgentCallback | 分享智能体回调 |
IARTCAIChatEngineCallback详情
onRequestAuthToken
请求鉴权token,必须要实现的回调,通过AppServer或者业务Server调用generateMessageChatToken OpenAPI获取Token,AICall SDK需要用这个Token进行鉴权
/**
* 请求鉴权token
* @param userId
* @param callback
*/
public void onRequestAuthToken(String userId, IARTCAIChatAuthTokenCallback callback);
参数详情:
参数 | 类型 | 含义 |
userId | String | 用户Id |
callback | IARTCAIChatAuthTokenCallback | 获取Token的回调 |
onEngineStateChange
当引擎状态发生变化时调用的方法
/**
* 当引擎状态发生变化时调用的方法
*
* @param oldState 变化前的引擎状态,表示引擎之前的状态
* @param newState 变化后的引擎状态,表示引擎当前的新状态
*/
public void onEngineStateChange(ARTCAIChatEngineState oldState, ARTCAIChatEngineState newState);
参数详情:
参数 | 类型 | 含义 |
oldState | 变化前的引擎状态 | |
newState | 变化后的引擎状态 |
onReceivedMessage
当接收到消息时调用的方法
/**
* 当接收到消息时调用的方法
* 该方法用于处理接收到的ARTCAIChatMessage对象,可以在此处实现消息的逻辑
* 例如,可以将消息显示在界面上,或进行其他处理
*
* @param message 接收到的消息对象,包含消息的内容和其他相关信息
*/
public void onReceivedMessage(ARTCAIChatMessage message);
参数详情:
参数 | 类型 | 含义 |
message | 接收到的消息对象,包含消息的内容和其他相关信息 |
onUserMessageUpdated
当用户发送的消息里某些字段更新后会触发该回调
/**
* 当用户发送的消息里某些字段更新后会触发该回调
*
* @param message 用户发送的消息
*/
public void onUserMessageUpdated(ARTCAIChatMessage message);
参数详情:
参数 | 类型 | 含义 |
message | 用户发送的消息 |
onAgentResponseStateChange
当智能体响应状态发生变化时调用的方法
/**
* 当智能体响应状态发生变化时调用的方法
*
* @param agentState 新的智能体状态
* @param requestId 响应状态变化相关的句子ID
*/
public void onAgentResponseStateChange(ARTCAIChatAgentState agentState, String requestId);
参数详情:
参数 | 类型 | 含义 |
agentState | 智能体状态 | |
requestId | String | 对应的请求,可为空 |
onMessagePlayStateChange
文本朗读播放状态改变
/**
* 文本朗读播放状态改变
*
* @param message 消息对象
* @param state 消息播放状态
*/
public void onMessagePlayStateChange(ARTCAIChatMessage message, ARTCAIChatMessagePlayState state);
参数详情:
参数 | 类型 | 含义 |
message | 文本朗读的消息对象 | |
state | ARTCAIChatMessagePlayState | 消息播放状态 |
onErrorOccurs
发生了错误
/**
* 发生了错误
* @param error
* @param requestId
*/
public void onErrorOccurs(ARTCAIChatError error, String requestId)
参数详情:
参数 | 类型 | 含义 |
error | ARTCAIChatError | 错误信息 |
requestId | String | 对应的请求,可为空 |
ARTCAIChatAttachmentUploader
registerAttachmentUploadCallback
注册附件上传回调
/**
* 注册附件上传回调
* @param callback
*/
public abstract void registerAttachmentUploadCallback(ARTCAIChatAttachmentUploader.IARTCAIChatAttachmentUploadCallback callback);
参数详情:
参数 | 类型 | 含义 |
callback | IARTCAIChatAttachmentUploadCallback | 附件上传结果回调 |
addAttachment
添加附件对象
/**
* 添加附件
* @param attachment
*/
public abstract void addAttachment(ARTCAIChatAttachmentUploader.ARTCAIChatAttachment attachment);
参数说明:
参数 | 类型 | 含义 |
attachment | 附件对象 |
removeAttachment
删除附件对象
/**
* 添加附件
* @param attachment
*/
public abstract void removeAttachment(ARTCAIChatAttachmentUploader.ARTCAIChatAttachment attachment);
参数说明:
参数 | 类型 | 含义 |
attachment | 附件对象 |
getAttachmentList
获取附件列表
/**
* 获取附件列表
*/
public abstract List<ARTCAIChatAttachment> getAttachmentList()
allUploadSussess
所有附件是否都上传成功
/**
* 所有附件是否都上传成功
*/
public abstract boolean allUploadSussess();
IARTCAIChatAttachmentUploadCallback
onSuccess
上传成功回调
/**
* 上传成功回调
*/
public void onSuccess(ARTCAIChatAttachment attachment) {}
onFailure
上传失败回调
/**
* 上传失败回调
* @param error 返回的错误信息
*/
public void onFailure(ARTCAIChatAttachment attachment, ARTCAIChatEngine.ARTCAIChatError error) {}
参数详情:
参数 | 类型 | 含义 |
attachment | 附件对象 | |
error | ARTCAIChatError | 上传失败原因 |
onProgress
上传进度
/**
* 上传进度
* @param progress
*/
public void onProgress(ARTCAIChatAttachment attachment, int progress) {}
参数详情:
参数 | 类型 | 含义 |
attachment | 附件对象 | |
progress | int | 上传进度,取值范围:[0, 100] |