Intégrez des agents audio et vidéo d'IA conversationnelle en temps réel à votre application Android.
Présentation du code source
Télécharger le code source
Téléchargez le code source depuis le projet open source GitHub.
Structure du code source
├── Android // Root directory of the Android project
│ ├── AUIBaseKits // AUI base components
│ ├── AUIAICall // UI components
│ ├── README.md
│ ├── app // Demo entry point
│ ├── build.gradle
│ └── settings.gradle
Configuration requise
Plugin Android Studio version 4.1.3
Gradle 7.0.2
JDK 11 fourni avec Android Studio
Prérequis
Vous devez avoir développé les API nécessaires sur votre serveur ou déployé le code source serveur fourni. Pour plus d'informations, consultez Déploiement du projet.
Exécuter la démo
Après avoir téléchargé le code source, ouvrez le dossier Android dans Android Studio.
Ouvrez le fichier de projet build.gradle et mettez à jour l'ID du package.
-
Ouvrez le fichier de configuration des scènes d'agent
/AUIAICall/src/main/assets/AgentConfig/agent_scenes.json. Saisissez-y l'ID de l'agent et la région correspondant à votre type d'agent. Par exemple, pour configurer un agent vocal, localisez le nœud Scenes oùagent_typecorrespond àVoiceAgent, puis définissez les valeurs des champsagent_idetregion.// The following example shows how to configure a voice call agent { "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": [] } ] }RemarquePour tester un seul type d'agent, définissez uniquement les champs
agent_idetregionpour ce type. Pour le champregion, utilisez l'un des ID de région indiqués dans le tableau ci-dessous.Nom de la région
ID de région
Chine (Hangzhou)
cn-hangzhou
Chine (Shanghai)
cn-shanghai
Chine (Pékin)
cn-beijing
Chine (Shenzhen)
cn-shenzhen
Singapour
ap-southeast-1
-
Une fois la configuration de l'agent terminée, lancez-le selon l'une des deux méthodes suivantes :
-
AppServer déjà déployé : si vous avez déployé le code source AppServer fourni par Alibaba Cloud sur votre serveur, ouvrez le fichier
AppServiceConst.javaet mettez à jour le nom de domaine du serveur.// AppServiceConst.java String HOST = "your application server domain name"; -
AppServer non déployé : si vous n'avez pas déployé le code source AppServer mais souhaitez exécuter rapidement la démo pour tester l'agent, ouvrez le fichier
AUIAICallAuthTokenHelper.java. Définissez le paramètreEnableDevelopTokensurtrue, puis copiez l'App ID et l'App Key ARTC depuis la console. Cette configuration génère un jeton d'authentification côté client à des fins de test.ImportantCette méthode nécessite la saisie locale d'informations sensibles, telles que l'AppKey. Elle convient uniquement aux tests et au développement. Ne l'utilisez en aucun cas en production afin d'éviter les risques de sécurité liés à une fuite de l'AppKey.
// AUIAICallAuthTokenHelper.java public class AUIAICallAuthTokenHelper { // Set to true to enable Develop mode private static final boolean EnableDevelopToken = true; // Copy the RTC AppId for audio and video calls from the console private static final String AICallRTCDevelopAppId = "RTC AppId used by the agent"; // Copy the RTC AppKey for audio and video calls from the console private static final String AICallRTCDevelopAppKey = "RTC AppKey used by the agent"; }Procédez comme suit pour obtenir l'AppId et l'AppKey de votre application ARTC :
-
Accédez à la console IMS et cliquez sur votre agent IA pour ouvrir sa page de détails.
Dans l'onglet Basic Information, localisez la section Workflow Configuration et notez le RTC App ID indiqué sous ARTC application.
-
Cliquez sur le RTC App ID pour ouvrir la console ApsaraVideo Live et récupérer l'App ID ainsi que l'AppKey.
Sur la page Application Management, cliquez sur le nom de votre application, allez dans l'onglet Basic Information, puis copiez l'App ID et l'AppKey.
-
-
Développer rapidement votre propre fonctionnalité d'appel IA
Intégrez rapidement AUIAICall à votre application pour ajouter des appels audio et vidéo basés sur des agents.
Intégrer le code source
Importez AUIAICall : après avoir téléchargé le code source depuis le dépôt, ouvrez Android Studio. Choisissez ensuite File > New > Import Module et importez les dossiers AUIAICall et AUIBaseKits.
-
Dans le fichier build.gradle du module importé, mettez à jour les dépendances des bibliothèques tierces.
dependencies { implementation 'androidx.appcompat:appcompat:x.x.x' // Replace x.x.x with your project's compatible version implementation 'com.google.android.material:material:x.x.x' // Replace x.x.x with your project's compatible version androidTestImplementation 'androidx.test.espresso:espresso-core:x.x.x' // Replace x.x.x with your project's compatible version implementation 'com.aliyun.aio:AliVCSDK_ARTC:x.x.x' // Replace x.x.x with your project's compatible version implementation 'com.aliyun.auikits.android:ARTCAICallKit:x.x.x' implementation 'com.alivc.live.component:PluginAEC:2.0.0' }RemarqueDernière version du SDK ARTC : 7.10.0
Dernière version du SDK AICallKit : 2.11.0
Attendez la fin de la synchronisation Gradle. Le code source est alors intégré.
Configurer le code source
Vérifiez que les étapes préalables sont terminées.
-
Ouvrez le fichier
AppServiceConst.javaet mettez à jour le nom de domaine du serveur.// AppServiceConst.java String HOST = "your application server domain name";RemarqueSi vous n'avez pas déployé AppServer, générez un jeton d'authentification côté client pour tester et exécuter rapidement la démo. Pour plus d'informations, consultez la section AppServer non déployé.
Appeler l'API
Une fois les étapes précédentes terminées, appelez l'API du composant depuis un autre module ou depuis la page d'accueil de votre application pour initier un appel IA. Modifiez le code source selon les besoins de votre scénario métier.
/** Ensure microphone and camera permissions are granted before starting */
Context currentActivity = AUIAICallEntranceActivity.this;
Intent intent = new Intent(currentActivity, AUIAICallInCallActivity.class);
// Set the call type (voice, digital human, or visual understanding). This must match the agent ID type.
ARTCAICallEngine.ARTCAICallAgentType aiCallAgentType =
ARTCAICallEngine.ARTCAICallAgentType.VoiceAgent;
// Agent ID. Must not be empty.
String aiAgentId = "";
// Region where the agent is located. Must not be empty.
String aiAgentRegion = "";
// User ID for joining the RTC session. We recommend using your business login user ID.
String userId = "123";
// Call authentication token. See: 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);
// Agent type
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_TYPE, aiCallAgentType);
// Agent ID
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_ID, aiAgentId);
// Agent region
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_REGION, aiAgentRegion);
// Set the call authentication token
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_RTC_AUTH_TOKEN, token);
currentActivity.startActivity(intent);
Pour plus d'informations sur la génération du jeton d'authentification d'appel, consultez Générer un jeton d'authentification ARTC.