このトピックでは、AICallKit SDK を使用してメッセージ会話エージェントを iOS アプリケーションに統合する方法について説明します。
API の概要
クラスまたはプロトコル | API | 説明 |
ARTCAIChatEngineInterface メッセージ会話エンジンインターフェイスの定義 | エンジン接続ステータスを取得します | |
現在のセッションに参加しているユーザーの情報を取得します | ||
現在のセッションの一意の識別子を取得します | ||
現在のセッションに参加しているエージェントの情報を取得します | ||
現在のエージェントの応答ステータスを取得します | ||
現在の音声リストを取得します | ||
コールバックイベントを設定およびクエリします | ||
TemplateConfig を設定および取得します | ||
エージェントに渡されるカスタムユーザー情報 | ||
チャットセッションを開始します | ||
チャットセッションを終了します | ||
メッセージを送信し、現在の返信を中断します (エージェントが思考中または返信中の場合) | ||
メッセージを削除します | ||
履歴メッセージリストをリクエストします | ||
現在のメッセージの返信を中断します | ||
メッセージを削除します | ||
メッセージ内容の再生を開始します | ||
メッセージの再生を停止します | ||
メッセージが再生中かどうかを確認します | ||
画像、動画、またはファイル付きのメッセージを送信するための添付ファイルアップローダーオブジェクトを作成します | ||
プッシュツートーク音声メッセージングを開始します。ボタンを押すと録音が開始され、音声がリアルタイムで送信されます。録音権限が有効になっていることを確認してください | ||
プッシュツートーク音声メッセージングを終了します。この操作はボタンを離したときに呼び出され、現在の音声メッセージが送信され、システムがエージェントの応答を待機していることを示します | ||
プッシュツートーク音声メッセージングをキャンセルします。この操作はボタンを離したときに呼び出され、現在の音声メッセージがキャンセルされたことを示します | ||
リソースを解放します | ||
共有インテリジェントエージェントに関する情報を解析します | ||
共有インテリジェントエージェントとの通話を開始します | ||
IARTCAIChatEngineCallback メッセージ会話エンジンコールバックイベント | エラーが発生しました | |
AuthToken をリクエストします。このコールバックは、ChatEngine が IM にログインする必要がある場合、または IM ログイン用の AuthToken の有効期限が切れた場合にトリガーされます | ||
エージェントの接続ステータスが変更されます | ||
エージェントから返信メッセージが受信されます。このコールバックは、エージェントが新しい返信を送信したとき、または現在の返信プロセス中にメッセージのステータスが変更されたときにトリガーされます | ||
カスタムメッセージが受信されます | ||
ユーザーが送信したメッセージを更新する必要があります | ||
エージェントの応答ステータスが変更されます | ||
チャットエージェントのメッセージ再生ステータスが変更されます | ||
ARTCAICallEngineFactory エンジンファクトリ | デフォルトのチャットエージェントエンジンを作成します |
API の詳細
ARTCAIChatEngineInterface の詳細
状態
エンジン接続ステータスを取得します。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 } // 現在のセッションに参加しているAIエージェントの情報を取得します。agentResponeState
現在のエージェントの応答ステータスを取得します。ARTCAIChatAgentResponseState の詳細については、「ARTCAIChatAgentResponseState」をご参照ください。
var agentResponeState: ARTCAIChatAgentResponseState { get }voiceIdList
現在の音声リストを取得します。
var voiceIdList: [String] { get } // voiceIdList を取得します。デリゲート
コールバックイベントを設定およびクエリします。ARTCAIChatEngineDelegate の詳細については、「ARTCAIChatEngineDelegate」をご参照ください。
weak var delegate: ARTCAIChatEngineDelegate? { get set } // デリゲート。templateConfig
TemplateConfig を設定および取得します。ARTCAIChatTemplateConfig の詳細については、「ARTCAIChatTemplateConfig」をご参照ください。
var templateConfig: ARTCAIChatTemplateConfig? { get set } // templateConfig: ARTCAIChatTemplateConfig? を取得および設定しますuserData
エージェントに渡されるカスタムユーザー情報。
var userData: [String: Any]? { get set } // ユーザーデータstartChat
チャットセッションを開始します。
func startChat(userInfo: ARTCAIChatUserInfo, agentInfo: ARTCAIChatAgentInfo, sessionId: String?)パラメーター:
パラメーター | 型 | 説明 |
userInfo | セッションを開始するユーザーの情報 | |
agentInfo | セッションを開始するエージェントの情報 | |
sessionId | String? | 現在のセッションの一意の識別子。このパラメーターが空の場合、userId+agentId が一意の識別子として使用されます |
endChat
チャットセッションを終了します。
func endChat(needLogout: Bool)パラメーター:
パラメータ | 型 | 説明 |
needLogout | Bool | 現在のユーザーが接続からログアウトする必要があるかどうかを指定します。このパラメーターを false に設定すると、次回 startChat を呼び出すときの接続時間が短縮されます。チャットする必要がなくなった場合は、このパラメーターを true に設定します |
sendMessage
メッセージを送信し、現在の返信を中断します (エージェントが思考中または返信中の場合)。
func sendMessage(request: ARTCAIChatSendMessageRequest, completed:((_ msg: ARTCAIChatMessage?, _ error: NSError?) -> Void)?) // メッセージを送信する関数パラメーター:
パラメーター | 型 | 説明 |
request | 送信するメッセージの内容 | |
completed | (_ msg: ARTCAIChatMessage?, _ error: NSError?) -> Void | 結果コールバック |
state
メッセージを削除します。
func deleteMessage(message: ARTCAIChatMessage, completed:((_ error: NSError?) -> Void)?)パラメーター:
パラメーター | タイプ | 説明 |
message | メッセージオブジェクト | |
completed | ((_ error: NSError?) -> Void)? | 結果コールバック |
メッセージリストのクエリ
履歴メッセージリストをリクエストします。
func queryMessageList(request: ARTCAIChatMessageListRequest, completed:((_ msgList: [ARTCAIChatMessage]?, _ error: NSError?) -> Void)?) // メッセージリストをクエリするパラメーター:
パラメーター | 型 | 説明 |
request | リクエストモデル | |
completed | (_ msgList: [ARTCAIChatMessage]?, _ error: NSError?) -> Void)? | 結果コールバック |
interruptAgentResponse
現在のメッセージの返信を中断します。
func interruptAgentResponse()agentInfo
現在のセッションに参加している AI エージェントに関する情報を取得します。
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 | 再生するメッセージ | |
voiceId | voiceId | 再生に使用する音声 |
completed | (_ error: NSError?) -> Void)? | 結果コールバック |
voiceIdList
メッセージの再生を停止します。
func stopPlayMessage()delegate
メッセージが再生中かどうかを確認します。func isPlayingMessage(dialogueId: String) -> Bool
func isPlayingMessage(dialogueId: String) -> BooltemplateConfig
画像、動画、またはファイル付きのメッセージを送信するための添付ファイルアップローダーオブジェクトを作成します。
func createAttachmentUploader() -> ARTCAIChatAttachmentUploader?userData
プッシュツートーク音声メッセージングを開始します。ボタンを押すと録音が開始され、音声がリアルタイムで送信されます。録音権限が有効になっていることを確認してください。
戻り値 true は操作が成功したことを示します。戻り値 false は操作が失敗したことを示します。一般的な原因には、不正なステータスや録音権限が無効になっていることが含まれます。
func startPushVoiceMessage(request: ARTCAIChatSendMessageRequest) -> Bool // 音声メッセージのプッシュを開始するパラメーター:
パラメーター | タイプ | 説明 |
request | 送信するメッセージの内容 |
finishPushVoiceMessage
プッシュツートーク音声メッセージングを終了します。この操作はボタンを離したときに呼び出され、現在の音声メッセージが送信され、システムがエージェントの応答を待機していることを示します。
func finishPushVoiceMessage(completed:((_ msg: ARTCAIChatMessage) -> Void)?) // プッシュボイスメッセージの完了パラメーター:
パラメーター | 型 | 説明 |
completed | (_ msg: ARTCAIChatMessage) -> Void)? | 結果コールバック |
cancelPushVoiceMessage
プッシュツートーク音声メッセージングをキャンセルします。この操作はボタンを離したときに呼び出され、現在の音声メッセージがキャンセルされたことを示します。
func cancelPushVoiceMessage()破棄する
リソースを解放します。
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 | 共有情報 | |
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)パラメーター:
パラメーター | 型 | 説明 |
userId | String | ユーザー ID |
responseBlock | (_ authToken: ARTCAIChatAuthToken?, _ error: NSError?)->Void | トークンコールバック |
onEngineStateChange
エージェントの接続ステータスが変更されます。
@objc optional func onEngineStateChange(state: ARTCAIChatEngineState)パラメーター:
パラメーター | 型 | 説明 |
state | 現在のエージェント接続ステータス |
onReceivedMessage
エージェントから返信メッセージが受信されます。このコールバックは、エージェントが新しい返信を送信したとき、または現在の返信プロセス中にメッセージのステータスが変更されたときにトリガーされます。
@objc optional func onReceivedMessage(message: ARTCAIChatMessage)パラメーター:
パラメーター | 型 | 説明 |
message | メッセージオブジェクト |
onReceivedCustomMessage
カスタムメッセージが受信されます。
@objc optional func onReceivedCustomMessage(text: String)パラメーター:
パラメーター | 型 | 説明 |
text | String | メッセージ内容 |
onUserMessageUpdated
ユーザーが送信したメッセージを更新する必要があります。
@objc optional func onUserMessageUpdated(message: ARTCAIChatMessage)パラメーター:
パラメーター | 型 | 説明 |
message | メッセージオブジェクト |
onAgentResponeStateChange
エージェントの応答ステータスが変更されます。
@objc optional func onAgentResponeStateChange(state: ARTCAIChatAgentResponseState, requestId: String?)パラメーター:
パラメーター | 型 | 説明 |
state | 応答ステータス | |
requestId | String? | 現在のメッセージセッション |
onMessagePlayStateChange
チャットエージェントのメッセージ再生ステータスが変更されます。
@objc optional func onMessagePlayStateChange(message: ARTCAIChatMessage, state: ARTCAIChatMessagePlayState)パラメーター:
パラメーター | 型 | 説明 |
message | メッセージオブジェクト | |
state | 再生ステータス |
ARTCAICallEngineFactory の詳細
createChatEngine
デフォルトのチャットエージェントエンジンを作成します。
public static func createChatEngine() -> ARTCAIChatEngineInterface