すべてのプロダクト
Search
ドキュメントセンター

Intelligent Media Services:Android ユーザーガイド

最終更新日:Nov 12, 2025

このトピックでは、AICallKit ソフトウェア開発キット (SDK) を使用して、メッセージベースのエージェントを Android アプリケーションに統合する方法について説明します。

前提条件

  • Android Studio プラグインバージョン 4.1.3

  • Gradle 7.0.2

  • Android Studio に含まれる JDK 11

SDK の統合

  1. プロジェクトレベルの build.gradle ファイルに Alibaba Cloud Maven リポジトリを追加します。

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url 'https://maven.aliyun.com/repository/google' }
            maven { url 'https://maven.aliyun.com/repository/public' }
        }
    }
  2. 対応する build.gradle ファイルに ARTCAICallKit の依存関係を追加します。

    dependencies {
        implementation 'com.aliyun.aio:AliVCSDK_ARTC:x.x.x'                  // x.x.x をプロジェクトと互換性のあるバージョンに置き換えます。
        implementation 'com.aliyun.auikits.android:ARTCAICallKit:x.x.x'
        implementation 'com.aliyun.sdk.android:AliVCInteractionMessage:x.x.x'
    }
    説明
    • Alibaba Real-Time Communication (ARTC) SDK の最小互換バージョンは 7.1.0 です。最新バージョンは 7.8.0 です。

    • AICallKit SDK の最新バージョンは 2.9.0 です。

    • AliVCInteractionMessage の最新バージョンは 1.8.0 です。

SDK の使用例

ARTCAIChatEngine mChatEngine = null;

// エンジンインスタンスを作成します。
void initEngine(Context context) {
// 初期化します。
// context -> Android Context
mChatEngine = new ARTCAIChatEngineImpl(context);  
}

// コールバックを設定します。
void initCallback() {
    mChatEngine.setEngineCallback(mAIChatEngineCallback); 
}

// エージェントが開始したら、会話を始めます。
String mUserId = "XXX"; // userId -> メッセージベースの会話に参加するユーザーの ID。業務システムのユーザー ID を使用します。
String mAgentId = "XXX"; // agentId -> コンソールで作成されたメッセージベースのエージェントの ID。
String mSessionId = "XXX";// 現在のセッションの一意の識別子。これが空の場合、システムは userId+agentId を一意の識別子として使用します。
String mAgentRegion = "XXX";// エージェントが配置されているリージョン。
mChatEngine.startChat(
    new ARTCAIChatEngine.ARTCAIChatUserInfo(mUserId, ""),
    new ARTCAIChatEngine.ARTCAIChatAgentInfo(mAgentId, mAgentRegion), mSessionId);



// テキストメッセージを送信します。
mChatEngine.sendMessage(new ARTCAIChatEngine.ARTCAIChatSendMessageRequest(requestId, ARTCAIChatEngine.ARTCAIChatMessageType.Text, message.text), new ARTCAIChatEngine.IARTCAIChatMessageCallback() {
    @Override
    public void onSuccess(ARTCAIChatEngine.ARTCAIChatMessage data) {
        // 送信成功を処理します。
    }
    @Override
    public void onFailure(ARTCAIChatEngine.ARTCAIChatMessage data, ARTCAIChatEngine.ARTCAIChatError error) {
        // 送信失敗を処理します。
    }
});

// プッシュツートークの音声メッセージを送信します。
mChatEngine.startPushVoiceMessage(new ARTCAIChatEngine.ARTCAIChatSendMessageRequest(requestId, ARTCAIChatEngine.ARTCAIChatMessageType.Voice, ""));

// プッシュツートークの音声メッセージを終了します。
mChatEngine.finishPushVoiceMessage(new ARTCAIChatEngine.IARTCAIChatMessageCallback() {
    @Override
    public void onSuccess(ARTCAIChatEngine.ARTCAIChatMessage data) {
        // 送信成功を処理します。
    }
});

// テキストを読み上げます。
mChatEngine.startPlayMessage(message, voiceId, new ARTCAIChatEngine.IARTCAIChatMessageCallback() {
    @Override
    public void onSuccess(ARTCAIChatEngine.ARTCAIChatMessage data) {
        Logger.i("startPlayMessage success");

    }
    @Override
    public void onFailure(ARTCAIChatEngine.ARTCAIChatMessage data, ARTCAIChatEngine.ARTCAIChatError error) {
        Logger.e("startPlayMessage failed  error.errorCode: " + error.errorCode + ", error.errorMsg" + error.errorMsg);

    }
});

// コールバック処理 (この例では、いくつかのコアコールバック操作のみを示します)。
ARTCAIChatEngine.IARTCAIChatEngineCallback mAIChatEngineCallback = new ARTCAIChatEngine.IARTCAIChatEngineCallback(){

    @Override
    public void onRequestAuthToken(String userId, ARTCAIChatEngine.IARTCAIChatAuthTokenCallback callback) {
        // このコールバックは実装する必要があります。AppServer または業務サーバーから generateMessageChatToken OpenAPI 操作を呼び出してトークンを取得します。
        // AICall SDK はこのトークンを認証に使用します。
        ARTCAIChatEngine.ARTCAIChatAuthToken auth = new ARTCAIChatEngine.ARTCAIChatAuthToken(jsonObject);// 業務サーバー API から jsonObject を取得します。
        callback.onSuccess(auth);
    }

    @Override
    public void onErrorOccurs(ARTCAIChatEngine.ARTCAIChatError error, String requestId) {
        // エラーのコールバック。
    }

    @Override
    public void onEngineStateChange(ARTCAIChatEngine.ARTCAIChatEngineState oldState, ARTCAIChatEngine.ARTCAIChatEngineState newState) {
        // エンジン状態変更のコールバック。
    }



    @Override
    public void onReceivedMessage(ARTCAIChatEngine.ARTCAIChatMessage message) {
        // メッセージを受信します。
    }

    @Override
    public void onUserMessageUpdated(ARTCAIChatEngine.ARTCAIChatMessage message) {
        // メッセージを更新します。
    }

    @Override
    public void onAgentResponseStateChange(ARTCAIChatEngine.ARTCAIChatAgentState agentState, String requestId) {
        // エージェント状態変更のコールバック。
    }

    @Override
        public void onMessagePlayStateChange(ARTCAIChatEngine.ARTCAIChatMessage message, ARTCAIChatEngine.ARTCAIChatMessagePlayState state) {
            // 音声合成再生状態のコールバック。
        }
    };