Topik ini menjelaskan cara mengintegrasikan agen audio dan video Real-time Conversational AI ke dalam aplikasi Android Anda.
Ikhtisar Kode Sumber
Unduh Kode Sumber
Anda dapat mengunduh kode sumber dari proyek open source GitHub.
Struktur Kode Sumber
├── Android // Direktori root proyek Android
│ ├── AUIBaseKits // Komponen dasar AUI
│ ├── AUIAICall // Komponen UI
│ ├── README.md
│ ├── app // Titik masuk demo
│ ├── build.gradle
│ └── settings.gradlePersyaratan Lingkungan
Plugin Android Studio versi 4.1.3
Gradle 7.0.2
JDK 11 yang disertakan dengan Android Studio
Prasyarat
Anda harus telah mengembangkan API yang diperlukan di server Anda atau menerapkan kode sumber server yang disediakan. Untuk informasi selengkapnya, lihat Penerapan proyek.
Jalankan Demo
Setelah mengunduh kode sumber, buka folder Android di Android Studio.
Buka file proyek build.gradle dan perbarui ID paket.
Buka file konfigurasi skenario agen
/AUIAICall/src/main/assets/AgentConfig/agent_scenes.json. Dalam file ini, masukkan ID agen dan wilayah berdasarkan jenis agen Anda. Misalnya, untuk mengonfigurasi agen voice, temukan node Scenes denganagent_typebernilaiVoiceAgent, lalu atur nilai untuk bidangagent_iddanregion.// Contoh berikut menunjukkan cara mengonfigurasi agen panggilan suara { "agent_type": "VoiceAgent", "scenes": [ { "agent_id": "<ID agen panggilan suara>", "region": "<Wilayah ID agen panggilan suara>", "title": "Voice Call", "tags": [], "limit_seconds": 1800, "description": "", "asr_model_id": "xxx", "tts_model_id": "xxx", "voice_styles": [] } ] }CatatanJika Anda hanya ingin menguji satu jenis agen, cukup atur bidang
agent_iddanregionuntuk jenis agen tersebut. Untuk bidangregion, gunakan salah satu nilai Region ID yang tercantum dalam tabel di bawah ini.Nama Wilayah
Region ID
China (Hangzhou)
cn-hangzhou
China (Shanghai)
cn-shanghai
China (Beijing)
cn-beijing
China (Shenzhen)
cn-shenzhen
Singapore
ap-southeast-1
Setelah konfigurasi agen selesai, Anda dapat memulai agen dengan salah satu dari dua cara berikut:
AppServer sudah diterapkan: Jika Anda telah menerapkan kode sumber AppServer yang disediakan oleh Alibaba Cloud di server Anda, buka file
AppServiceConst.javadan perbarui nama domain server.// AppServiceConst.java String HOST = "nama domain server aplikasi Anda";AppServer belum diterapkan: Jika Anda belum menerapkan kode sumber AppServer tetapi ingin menjalankan demo secara cepat untuk menguji agen, buka file
AUIAICallAuthTokenHelper.java. Atur parameterEnableDevelopTokenke `true`, lalu salin ARTC App ID dan App Key dari konsol. Konfigurasi ini menghasilkan token otentikasi di sisi client untuk keperluan pengujian.PentingCara ini memerlukan Anda memasukkan informasi sensitif, seperti AppKey, secara lokal. Metode ini hanya cocok untuk pengujian dan pengembangan. Metode ini tidak boleh digunakan di lingkungan produksi untuk mencegah risiko keamanan akibat kebocoran AppKey.
// AUIAICallAuthTokenHelper.java public class AUIAICallAuthTokenHelper { // Atur ke true untuk mengaktifkan mode Develop private static final boolean EnableDevelopToken = true; // Salin RTC AppId untuk panggilan audio dan video dari konsol private static final String AICallRTCDevelopAppId = "RTC AppId yang digunakan oleh agen"; // Salin RTC AppKey untuk panggilan audio dan video dari konsol private static final String AICallRTCDevelopAppKey = "RTC AppKey yang digunakan oleh agen"; }Ikuti langkah-langkah berikut untuk mendapatkan AppId dan AppKey aplikasi ARTC Anda:
Buka halaman AI Agents di konsol IMS. Klik agen untuk membuka halaman detail agen.

Klik ARTC application ID. Anda akan diarahkan ke konsol ApsaraVideo Live, tempat AppID dan AppKey disediakan.

Kembangkan Secara Cepat Fitur Panggilan AI Anda Sendiri
Ikuti langkah-langkah berikut untuk mengintegrasikan AUIAICall ke dalam aplikasi Anda dan menambahkan kemampuan panggilan audio dan video berbasis agen.
Integrasikan Kode Sumber
Impor AUIAICall: Setelah mengunduh kode sumber dari repositori, buka Android Studio. Lalu, pilih File > New > Import Module dan impor folder AUIAICall serta AUIBaseKits.
Dalam file build.gradle modul yang diimpor, perbarui dependensi library pihak ketiga.
dependencies { implementation 'androidx.appcompat:appcompat:x.x.x' // Ganti x.x.x dengan versi kompatibel proyek Anda implementation 'com.google.android.material:material:x.x.x' // Ganti x.x.x dengan versi kompatibel proyek Anda androidTestImplementation 'androidx.test.espresso:espresso-core:x.x.x' // Ganti x.x.x dengan versi kompatibel proyek Anda implementation 'com.aliyun.aio:AliVCSDK_ARTC:x.x.x' // Ganti x.x.x dengan versi kompatibel proyek Anda implementation 'com.aliyun.auikits.android:ARTCAICallKit:x.x.x' implementation 'com.alivc.live.component:PluginAEC:2.0.0' }CatatanVersi terbaru SDK ARTC: 7.10.0
Versi terbaru SDK AICallKit: 2.11.0
Tunggu hingga proses sinkronisasi Gradle selesai. Kode sumber kini telah terintegrasi.
Konfigurasi Kode Sumber
Anda telah menyelesaikan langkah-langkah prasyarat.
Buka file
AppServiceConst.javadan perbarui nama domain server.// AppServiceConst.java String HOST = "nama domain server aplikasi Anda";CatatanJika Anda belum menerapkan AppServer, Anda dapat menghasilkan token otentikasi di sisi client untuk menguji dan menjalankan demo secara cepat. Untuk informasi selengkapnya, lihat AppServer belum diterapkan.
Panggil API
Setelah menyelesaikan langkah-langkah di atas, Anda dapat memanggil antarmuka komponen dari modul lain atau halaman utama aplikasi Anda untuk memulai panggilan AI. Anda dapat mengimplementasikan pemanggilan ini sesuai dengan skenario bisnis dan desain interaksi pengguna Anda. Anda juga dapat memodifikasi kode sumber untuk memenuhi kebutuhan spesifik Anda.
/** Pastikan izin mikrofon dan kamera telah diberikan sebelum memulai */
Context currentActivity = AUIAICallEntranceActivity.this;
Intent intent = new Intent(currentActivity, AUIAICallInCallActivity.class);
// Atur tipe panggilan (voice, manusia digital, atau pemahaman visual). Harus sesuai dengan tipe ID agen.
ARTCAICallEngine.ARTCAICallAgentType aiCallAgentType =
ARTCAICallEngine.ARTCAICallAgentType.VoiceAgent;
// ID agen. Tidak boleh kosong.
String aiAgentId = "";
// Wilayah tempat agen berada. Tidak boleh kosong.
String aiAgentRegion = "";
// ID pengguna untuk bergabung dalam session RTC. Disarankan menggunakan ID pengguna login bisnis Anda.
String userId = "123";
// Token otentikasi panggilan. Lihat: 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);
// Tipe agen
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_TYPE, aiCallAgentType);
// ID agen
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_ID, aiAgentId);
// Wilayah agen
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_REGION, aiAgentRegion);
// Atur token otentikasi panggilan
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_RTC_AUTH_TOKEN, token);
currentActivity.startActivity(intent);Untuk informasi selengkapnya tentang cara menghasilkan token otentikasi panggilan, lihat Hasilkan token otentikasi ARTC.