通过阅读本文,您可以了解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]  |