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

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

最終更新日:Mar 04, 2026

このトピックでは、リアルタイム対話型 AI の音声およびビデオエージェントを Android アプリケーションに統合する方法について説明します。

ソースコード概要

ソースコードのダウンロード

GitHub オープンソースプロジェクトからソースコードをダウンロードできます。

ソースコード構成

├── Android       		// Android プロジェクトのルートディレクトリ
│   ├── AUIBaseKits     // AUI ベースコンポーネント
│   ├── AUIAICall       // UI コンポーネント
│   ├── README.md
│   ├── app             // デモのエントリポイント
│   ├── build.gradle  
│   └── settings.gradle

環境要件

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

  • Gradle 7.0.2

  • Android Studio にバンドルされている JDK 11

前提条件

サーバー上で必要な API を開発済みであるか、または提供されたサーバーソースコードをデプロイ済みである必要があります。詳細については、「Project deployment」をご参照ください。

デモの実行

  1. ソースコードをダウンロードした後、Android Studio で Android フォルダを開きます。

  2. プロジェクトファイル build.gradle を開き、パッケージ ID を更新します。

  3. エージェントシーン構成ファイル /AUIAICall/src/main/assets/AgentConfig/agent_scenes.json を開きます。このファイル内で、ご利用のエージェントタイプに応じてエージェント ID とリージョンを入力します。たとえば、音声エージェントを構成する場合は、agent_typeVoiceAgent である Scenes ノードを見つけ、agent_id および region フィールドの値を設定します。

    // 音声通話エージェントの構成例
        {
          "agent_type": "VoiceAgent",
          "scenes": [
            {
              "agent_id": "<Voice call agent ID>",
              "region": "<Region of the voice call agent ID>",
              "title": "Voice Call",
              "tags": [],
              "limit_seconds": 1800,
              "description": "",
              "asr_model_id": "xxx",
              "tts_model_id": "xxx",
              "voice_styles": []
            }
          ]
        }
    説明

    特定のタイプのエージェントのみをテストする場合、そのエージェントタイプの agent_id および region フィールドのみを設定すれば十分です。region フィールドには、以下の表に記載されているリージョン ID のいずれかを使用してください。

    リージョン名

    リージョン ID

    中国 (杭州)

    cn-hangzhou

    中国 (上海)

    cn-shanghai

    中国 (北京)

    cn-beijing

    中国 (深セン)

    cn-shenzhen

    シンガポール

    ap-southeast-1

  4. エージェントの構成が完了したら、次のいずれかの方法でエージェントを起動できます。

    • AppServer がすでにデプロイ済みの場合: Alibaba Cloud が提供する AppServer ソースコードをサーバーにデプロイ済みの場合は、AppServiceConst.java ファイルを開き、サーバードメイン名を更新します。

      // AppServiceConst.java
      String HOST = "your application server domain name";
    • AppServer が未デプロイの場合: AppServer ソースコードをデプロイしていないが、デモを迅速に実行してエージェントをテストしたい場合は、AUIAICallAuthTokenHelper.java ファイルを開きます。EnableDevelopToken パラメーターを `true` に設定し、コンソールから ARTC App ID および App Key をコピーします。この構成により、クライアント側でテスト用の認証トークンが生成されます。

      重要

      この方法では、AppKey などの機密情報をローカルに記述する必要があります。この方法はテストおよび開発用途にのみ適しており、AppKey 漏洩によるセキュリティリスクを防ぐため、本番環境では絶対に使用しないでください

      // AUIAICallAuthTokenHelper.java
      public class AUIAICallAuthTokenHelper {
          // Develop モードを有効にするには true に設定
          private static final boolean EnableDevelopToken = true;
      
          // コンソールから音声・ビデオ通話用の RTC AppId をコピー
          private static final String AICallRTCDevelopAppId = "RTC AppId used by the agent";
          // コンソールから音声・ビデオ通話用の RTC AppKey をコピー
          private static final String AICallRTCDevelopAppKey = "RTC AppKey used by the agent";
      }

      ARTC アプリケーションの AppId および AppKey を取得する手順は以下のとおりです。

      1. AI Agents ページに移動し、エージェントをクリックしてエージェント詳細ページを開きます。

        image

      2. ARTC アプリケーション ID をクリックすると、ApsaraVideo Live コンソールにリダイレクトされ、AppID および AppKey が表示されます。

        image

独自の AI 通話機能の迅速な開発

以下の手順に従って AUIAICall をアプリに迅速に統合し、エージェントベースの音声・ビデオ通話機能を追加できます。

ソースコードの統合

  1. AUIAICall のインポート:リポジトリからソースコードをダウンロードした後、Android Studio を開きます。次に、[File] > [New] > [Import Module] を選択し、AUIAICall および AUIBaseKits フォルダをインポートします。

  2. インポートしたモジュールの build.gradle ファイルで、サードパーティ製ライブラリの依存関係を更新します。

    dependencies {
        implementation 'androidx.appcompat:appcompat:x.x.x'                     // x.x.x をプロジェクトの互換バージョンに置き換え
        implementation 'com.google.android.material:material:x.x.x'             // x.x.x をプロジェクトの互換バージョンに置き換え
        androidTestImplementation 'androidx.test.espresso:espresso-core:x.x.x'  // x.x.x をプロジェクトの互換バージョンに置き換え
        implementation 'com.aliyun.aio:AliVCSDK_ARTC:x.x.x'                  // x.x.x をプロジェクトの互換バージョンに置き換え
        implementation 'com.aliyun.auikits.android:ARTCAICallKit:x.x.x'
        implementation 'com.alivc.live.component:PluginAEC:2.0.0'
    }
    説明
    • 最新の ARTC SDK バージョン:7.10.0

    • 最新の AICallKit SDK バージョン:2.11.0

  3. Gradle の同期が完了するまで待ちます。これでソースコードが統合されました。

ソースコード構成

  • 前提条件の手順を完了しています。

  • AppServiceConst.java ファイルを開き、サーバードメイン名を更新します。

    // AppServiceConst.java
    String HOST = "your application server domain name";
    説明

    AppServer をデプロイしていない場合は、クライアント側で認証トークンを生成してデモを迅速にテストおよび実行できます。詳細については、「AppServer not deployed」をご参照ください。

API の呼び出し

上記の手順を完了した後、別のモジュールまたはアプリケーションのホームページからコンポーネントインターフェイスを呼び出して AI 通話を開始できます。この呼び出しは、ビジネスシナリオやユーザーインタラクション設計に基づいて実装できます。また、ソースコードを修正して特定の要件を満たすことも可能です。

/** 開始前にマイクおよびカメラの権限が付与されていることを確認 */
Context currentActivity = AUIAICallEntranceActivity.this;
Intent intent = new Intent(currentActivity, AUIAICallInCallActivity.class);

// 通話タイプ(音声、デジタルヒューマン、視覚理解)を設定。エージェント ID のタイプと一致させる必要があります。
ARTCAICallEngine.ARTCAICallAgentType aiCallAgentType = 
    ARTCAICallEngine.ARTCAICallAgentType.VoiceAgent;
// エージェント ID。空であってはなりません。
String aiAgentId = "";
// エージェントが配置されているリージョン。空であってはなりません。
String aiAgentRegion = "";
// RTC セッションに参加するユーザー ID。ビジネスログインユーザー ID の使用を推奨します。
String userId = "123";
// 通話認証トークン。参照先:https://www.alibabacloud.com/help/zh/ims/user-guide/generate-artc-authentication-token?spm=a2c4g.11186623.0.0.1ce65bc4BKdQy7
String token = "";

intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_LOGIN_USER_ID, userId);
// エージェントタイプ
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_TYPE, aiCallAgentType);
// エージェント ID
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_ID, aiAgentId);
// エージェントリージョン
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_REGION, aiAgentRegion);
// 通話認証トークンを設定
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_RTC_AUTH_TOKEN, token);

currentActivity.startActivity(intent);
説明

通話認証トークンの生成方法の詳細については、「Generate an ARTC authentication token」をご参照ください。