Intégrez des agents audio et vidéo d'IA conversationnelle en temps réel à votre application iOS.
Description du code source
Téléchargement du code source
Téléchargez le code source depuis le projet open source GitHub.
Structure du code source
├── iOS // Root directory for the iOS platform
│ ├── AUIAICall.podspec // Pod description file
│ ├── Source // Source code files
│ ├── Resources // Resource files
│ ├── Example // Demo code
│ ├── AUIBaseKits // Basic UI components
│ ├── README.md // Readme
Configuration requise de l'environnement
Xcode 16.0 ou version ultérieure. Nous vous recommandons la dernière version officielle.
CocoaPods 1.9.3 ou version ultérieure.
Appareil physique iOS exécutant iOS 11.0 ou version ultérieure.
Prérequis
Développez les opérations API correspondantes sur votre serveur ou déployez le code source serveur fourni. Pour plus d'informations, consultez Déployer un projet.
Exécution de la démo
Téléchargez le code source et accédez au dossier Example.
Dans le dossier Example, exécutez la commande
pod install --repo-updatepour installer les dépendances du SDK.Ouvrez le fichier de projet
AUIAICallExample.xcworkspaceet modifiez l'ID du package.-
Ouvrez le fichier de configuration des scénarios d'agent
/Resources/AUIAIMain.bundle/agent_scenes.json. Spécifiez l'ID de l'agent et la région selon le type d'agent. Par exemple, pour configurer un agent vocal, localisez le nœud Scenes oùagent_typeestVoiceAgent, puis renseignez les 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 where the voice call agent ID is located>", "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 valeurs des champs
agent_idetregioncorrespondants. Pour la valeurregion, reportez-vous à la colonne Region ID du tableau suivant.Nom de la région
Region ID
China (Hangzhou)
cn-hangzhou
China (Shanghai)
cn-shanghai
China (Beijing)
cn-beijing
China (Shenzhen)
cn-shenzhen
Singapore
ap-southeast-1
-
Une fois l'agent configuré, lancez-le selon l'une des méthodes suivantes :
-
Si AppServer est déployé : si vous avez déployé le code source AppServer fourni par Alibaba Cloud, ouvrez
AUIAICallAppServer.swiftet définissez le nom de domaine de votre serveur.// AUIAICallAppServer.swift public let AICallServerDomain = "Your application server domain name" -
Si AppServer n'est pas déployé : pour exécuter rapidement la démo sans déployer AppServer, ouvrez
AUIAICallAuthTokenHelper.swift. Configurez le paramètreEnableDevelopToken, récupérez l'App ID et l'App Key de l'application ARTC dans la console, puis générez le jeton d'authentification directement dans l'application.RemarqueCette méthode implique d'intégrer votre AppKey et d'autres informations sensibles dans votre application. Elle est réservée aux tests et au développement. N'utilisez jamais cette méthode en production, car l'exposition de votre AppKey côté client présente un risque de sécurité majeur.
// AUIAICallAuthTokenHelper.swift @objcMembers public class AUIAICallAuthTokenHelper: NSObject { // Set to true to enable Develop mode private static let EnableDevelopToken: Bool = true // Copy the RTCAppId from the console private static let RTCDevelopAppId: String = "RTC AppId used by the agent" // Copy the RTCAppKey from the console private static let RTCDevelopAppKey: String = "RTC AppKey used by the agent" ... }Pour obtenir l'AppID et l'AppKey de l'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.
-
-
Sélectionnez la cible Example, puis compilez et exécutez le projet.
Développement rapide de votre propre fonctionnalité d'appel IA
Intégrez AUIAICall à votre application pour activer les fonctionnalités d'appels audio et vidéo avec agent.
Intégration du code source
Téléchargez le dépôt et copiez le dossier iOS dans le répertoire de code de votre application. Renommez ce dossier en AUIAICall, placez-le au même niveau que votre Podfile, puis supprimez les dossiers Example et AICallKit.
-
Modifiez le Podfile pour importer les dépendances suivantes :
AliVCSDK_ARTC : SDK client pour l'interaction audio et vidéo en temps réel. Vous pouvez également utiliser AliVCSDK_Standard ou AliVCSDK_InteractiveLive. Pour plus d'informations, consultez iOS.
ARTCAICallKit : SDK dédié au scénario d'appel d'IA conversationnelle en temps réel.
AUIFoundation : composants UI de base.
AUIAICall : code source du composant UI pour le scénario d'appel IA.
# Requires iOS 11.0 or later platform :ios, '11.0' target 'Your App target' do # Integrate the appropriate audio and video terminal SDK based on your business scenario pod 'AliVCSDK_ARTC', '~> x.x.x' # Real-time Conversational AI call scenario SDK pod 'ARTCAICallKit', '~> x.x.x' # Basic UI component source code pod 'AUIFoundation', :path => "./AUIAICall/AUIBaseKits/AUIFoundation/", :modular_headers => true # AI call scenario UI component source code pod 'AUIAICall', :path => "./AUIAICall/" endRemarqueDernière version du SDK ARTC :
Dernière version du SDK AICallKit : .
Exécutez la commande
pod install --repo-update.L'intégration du code source est terminée.
Configuration du projet
Ajoutez les autorisations d'accès au microphone et à la caméra. Ouvrez le fichier
info.plistdu projet et ajoutez les clés d'autorisation du microphone (NSMicrophoneUsageDescription), de la caméra (NSCameraUsageDescription) et de la bibliothèque photos (NSPhotoLibraryUsageDescription).Dans les paramètres de votre projet, sous l'onglet Signing & Capabilities, activez Background Modes. Sans cette activation, vous devrez gérer manuellement la fin des appels lorsque l'application passe en arrière-plan.
Configuration du code source
Respectez les prérequis.
-
Ouvrez
AUIAICallAppServer.swiftet définissez le nom de domaine de votre serveur.// AUIAICallAppServer.swift public let AICallServerDomain = "Your application server domain name"RemarqueSi vous n'avez pas déployé AppServer, générez un jeton d'authentification dans l'application pour tester rapidement la démo. Pour plus d'informations, consultez Si AppServer n'est pas déployé.
API d'appel
Une fois ces étapes terminées, lancez des appels IA depuis d'autres modules ou la page d'accueil de votre application via les interfaces du composant. Vous pouvez également modifier le code source pour répondre à vos besoins métier.
// Import components
import AUIAICall
import ARTCAICallKit
import AUIFoundation
// Check if microphone permission is enabled
AVDeviceAuth.checkMicAuth { auth in
if auth == false {
return
}
// For userId, use the user ID after your app logs on
let userId = "xxx"
// Build the controller using userId
let controller = AUIAICallController(userId: userId)
// Set the agent ID. It cannot be nil.
controller.config.agentId = "xxx"
// Set the call type (voice, digital human, or visual understanding). It must match the agent ID type.
controller.config.agentType = agentType
// The region where the agent is located. It cannot be nil.
controller.config.region = "xx-xxx"
// Create the call ViewController
let vc = AUIAICallViewController(controller)
// Open the call interface in full screen
vc.modalPresentationStyle = .fullScreen
vc.modalTransitionStyle = .coverVertical
vc.modalPresentationCapturesStatusBarAppearance = true
self.present(vc, animated: true)
}