全部產品
Search
文件中心

Intelligent Media Services:API介面詳情

更新時間:May 17, 2025

本文將介紹如何通過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