このトピックでは、リアルタイム対話型 AI エージェントを Android アプリに統合する方法について説明します。
ソースコード
ダウンロードリンク
ソースコードは GitHub からダウンロードできます。
ディレクトリ構造
├── Android // Android プロジェクトのルートディレクトリ。
│ ├── AUIBaseKits // AUI Kits の基本コンポーネント。
│ ├── AUIAICall // UI コンポーネント。
│ ├── README.md
│ ├── app // デモ。
│ ├── build.gradle
│ └── settings.gradle環境要件
Android Studio プラグイン V4.1.3
Gradle 7.0.2
Android Studio の Java 開発キット (JDK) 11
事前準備
サーバーで関連する API 操作を開発するか、提供されているサーバーのソースコードをデプロイします。詳細については、「プロジェクトのデプロイ」をご参照ください。
デモの実行
ソースコードをダウンロードした後、Android Studio で Android フォルダを開きます。
build.gradle プロジェクトファイルを開き、パッケージ ID を変更します。
AUIAICallAgentIdConfig.javaファイルを開き、エージェント ID とそのリージョンを設定します。// AUIAICallAgentIdConfig.java // 音声エージェント ID。 private static String VOICE_AGENT_ID = "<コンソールから取得した音声通話エージェント ID>"; // アバターエージェント ID。 private static String Avatar_AGENT_ID = "<コンソールから取得したデジタルヒューマン通話エージェント ID>"; // ビジョンエージェント ID。 private static String VISION_AGENT_ID = "<コンソールから取得した視覚理解通話エージェント ID>"; // リージョンを設定します。 private static String Region = "cn-shanghai";説明エージェント ID とリージョンは、コンソールでの設定と一致している必要があります。特定のタイプのエージェントを使用するには、対応するエージェント ID を設定します。
リージョン名
リージョン ID
中国 (杭州)
cn-hangzhou
中国 (上海)
cn-shanghai
中国 (北京)
cn-beijing
中国 (深セン)
cn-shenzhen
シンガポール
ap-southeast-1
次のいずれかの方法を使用して AI エージェントを開始します:
App Server がデプロイ済みの場合:
AppServiceConst.javaファイルを開き、App Server のドメイン名を変更します。// AppServiceConst.java String HOST = "ご利用の App Server のドメイン名";App Server が未デプロイの場合:
AUIAICallAuthTokenHelper.javaファイルを開き、EnableDevelopTokenパラメーターを設定します。コンソールから ARTC AppID と AppKey をコピーして、アプリケーションで AI エージェントを開始するために必要な認証トークンを生成します。重要この方法は、AppKey やその他の機密情報をアプリケーションに埋め込む必要があります。テストおよび開発目的でのみ使用してください。本番環境ではこの方法を使用しないでください。クライアント側で AppKey を公開すると、深刻なセキュリティリスクが生じます。
// AUIAICallAuthTokenHelper.java public class AUIAICallAuthTokenHelper { // true に設定すると開発者モードが有効になります private static final boolean EnableDevelopToken = true; // コンソールから ARTC アプリケーションの AppID をコピーします private static final String AICallRTCDevelopAppId = "エージェントが使用する ARTC サービスの App ID"; // コンソールから ARTC アプリケーションの AppKey をコピーします private static final String AICallRTCDevelopAppKey = "エージェントが使用する ARTC サービスの App Key"; }ARTC アプリケーションの AppID と AppKey を取得するには:
IMS コンソールの [AI エージェント] ページに移動します。エージェントをクリックして、エージェント詳細ページに移動します。

[ARTC application ID] をクリックします。ApsaraVideo Live コンソールにリダイレクトされ、そこに AppID と AppKey が表示されます。

対話型 AI 機能の開発
次の手順を実行することで、AUIAICall をアプリに迅速に統合できます。
ソースコードの統合
リポジトリからソースコードをダウンロードします。Android Studio のメニューで、[File] > [New] > [Import Module] に移動し、AUIAICall と AUIBaseKits フォルダをインポートします。
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.9.1
最新の AICallKit SDK バージョン: 2.9.1
同期が完了するまで待ちます。
ソースコードの設定
すべての前提条件が満たされていることを確認してください。
AppServiceConst.javaファイルを開き、サーバーのドメイン名を変更します。// AppServiceConst.java String HOST = "ご利用の App Server のドメイン名";説明App Server がデプロイされていない場合は、アプリで認証トークンを生成して、迅速なテストやデモンストレーションを行うことができます。
API 操作の呼び出し
上記の手順を完了すると、アプリの他のモジュールまたはホームページで API 操作を呼び出して、AI エージェントとの対話を開始できます。ソースコードを変更することも可能です。
/** 開始する前に、マイクとカメラの権限が付与されていることを確認してください。 */
Context currentActivity = AUIAICallEntranceActivity.this;
Intent intent = new Intent(currentActivity, AUIAICallInCallActivity.class);
// 通話タイプ (音声、アバター、またはビジョン) を設定します。これはエージェント ID のタイプと一致する必要があります。
ARTCAICallEngine.ARTCAICallAgentType aiCallAgentType =
ARTCAICallEngine.ARTCAICallAgentType.VoiceAgent;
// エージェント ID。nil は指定できません。
String aiAgentId = "";
// エージェントが配置されているリージョン。nil は指定できません。
String aiAgentRegion = "";
// RTC 通話に参加するユーザーの ID。ユーザーのログイン ID を使用することを推奨します。
String userId = "123";
// 認証トークン。詳細については、https://www.alibabacloud.com/help/ims/user-guide/generate-artc-authentication-token をご参照ください
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);認証トークンの詳細については、「ARTC 認証トークンの生成」をご参照ください。