API接口详情

通过阅读本文,您可以了解Android SDK接口详情。

API概览

类/协议

API

说明

ARTCAIChatEngine

消息对话引擎接口定义

setEngineCallback

注册消息对话引擎回调。

destory

释放资源。

setTemplateConfig

设置消息对话配置的参数项,如果不需要设置业务参数,可不调用

setUserData

用户自定义信息,该信息最终传给智能体,业务自定义扩展字段

startChat

开始聊天。

endChat

结束聊天。

sendMessage

发送文本消息。

startPushVoiceMessage

开始按键语音。

finishPushVoiceMessage

结束按键语音。

cancelPushVoiceMessage

取消按键语音。

interruptAgentResponse

中断智能体输出。

deleteMessage

删除消息。

queryMessageList

获取历史消息列表。

getAgentInfo

获取智能体信息。

startPlayMessage

开始文本朗读。

stopPlayMessage

停止文本朗读。

isPlayingMessage

是否文本朗读中。

getVoiceList

当前文本朗读音色列表。

getCurrentVoice

当前使用的音色。

getCurrentAIChatAgentState

获取当前智能体的回复状态。

createAttachmentUploader

创建附件上传器对象,附件类型可以是图片、文件等

getEngineState

获取当前引擎状态。

parseShareConfig

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

generateShareAgentChat

启动一个分享的智能体消息对话。

IARTCAIChatEngineCallback

消息对话引擎回调事件

onRequestAuthToken

请求鉴权token,必须要实现的回调。

onEngineStateChange

引擎状态发生变化。

onReceivedMessage

接收到消息时回调。

onUserMessageUpdated

当用户发送的消息里某些字段更新后会触发该回调。

onAgentResponseStateChange

当智能体响应状态发生变化时调用的方法。

onMessagePlayStateChange

文本朗读播放状态改变。

onErrorOccurs

发生了错误。

ARTCAIChatAttachmentUploader

附件上传器类

registerAttachmentUploadCallback

注册附件上传回调

addAttachment

添加附件对象

removeAttachment

删除附件对象

getAttachmentList

获取附件列表

allUploadSussess

所有附件是否都上传成功

IARTCAIChatAttachmentUploadCallback

附件上传进度回调类

onSuccess

上传成功回调

onFailure

上传失败回调

onProgress

上传进度

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

ARTCAIChatTemplateConfig

用于消息对话的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

ARTCAIChatUserInfo

用户信息,userId不可为空,可以使用业务的用户ID

agentInfo

ARTCAIChatAgentInfo

智能体信息,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

ARTCAIChatSendMessageRequest

发送消息请求

callback

IARTCAIChatMessageCallback

发送文本消息回调

startPushVoiceMessage

开始按键语音消息

/**
* 开始按键语音
* @param request
*/
public abstract boolean startPushVoiceMessage(ARTCAIChatSendMessageRequest request);

参数详情:

参数

类型

含义

request

ARTCAIChatSendMessageRequest

发送消息请求

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

ARTCAIChatMessage

需要删除的消息记录

callback

IARTCAIChatMessageCallback

删除消息回调

queryMessageList

获取历史消息列表

 /**
  * 获取历史消息列表
  * @param request 请求model
  * @param callback
  */
public abstract void queryMessageList(ARTCAIChatMessageListRequest request, IARTCAIChatHistoryMessageCallback callback);

参数详情:

参数

类型

含义

message

ARTCAIChatMessageListRequest

历史消息列表请求

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

ARTCAIChatMessage

开始文本朗读的消息

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

ARTCAIChatEngineState

变化前的引擎状态

newState

ARTCAIChatEngineState

变化后的引擎状态

onReceivedMessage

当接收到消息时调用的方法

/**
 * 当接收到消息时调用的方法
 * 该方法用于处理接收到的ARTCAIChatMessage对象,可以在此处实现消息的逻辑
 * 例如,可以将消息显示在界面上,或进行其他处理
 *
 * @param message 接收到的消息对象,包含消息的内容和其他相关信息
 */
 public void onReceivedMessage(ARTCAIChatMessage message);

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

接收到的消息对象,包含消息的内容和其他相关信息

onUserMessageUpdated

当用户发送的消息里某些字段更新后会触发该回调

/**
 * 当用户发送的消息里某些字段更新后会触发该回调
 *
 * @param message 用户发送的消息
 */
public void onUserMessageUpdated(ARTCAIChatMessage message);

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

用户发送的消息

onAgentResponseStateChange

当智能体响应状态发生变化时调用的方法

 /**
  * 当智能体响应状态发生变化时调用的方法
  *
  * @param agentState 新的智能体状态
  * @param requestId 响应状态变化相关的句子ID
  */
public void onAgentResponseStateChange(ARTCAIChatAgentState agentState, String requestId);

参数详情:

参数

类型

含义

agentState

ARTCAIChatAgentState

智能体状态

requestId

String

对应的请求,可为空

onMessagePlayStateChange

文本朗读播放状态改变

 /**
  * 文本朗读播放状态改变
  *
  * @param message 消息对象
  * @param state 消息播放状态
*/
public void onMessagePlayStateChange(ARTCAIChatMessage message, ARTCAIChatMessagePlayState state);

参数详情:

参数

类型

含义

message

ARTCAIChatMessage

文本朗读的消息对象

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

ARTCAIChatAttachment

附件对象

removeAttachment

删除附件对象

 /**
   * 添加附件
   * @param attachment
   */
public  abstract void removeAttachment(ARTCAIChatAttachmentUploader.ARTCAIChatAttachment attachment);

参数说明:

参数

类型

含义

attachment

ARTCAIChatAttachment

附件对象

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

ARTCAIChatAttachment

附件对象

error

ARTCAIChatError

上传失败原因

onProgress

上传进度

 /**
   * 上传进度
   * @param progress
   */
public void onProgress(ARTCAIChatAttachment attachment, int progress) {}

参数详情:

参数

类型

含义

attachment

ARTCAIChatAttachment

附件对象

progress

int

上传进度,取值范围:[0, 100]