Tous les produits
Search
Centre de documentation

Intelligent Media Services:Guide utilisateur iOS

Dernière mise à jour :Aug 11, 2026

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

  1. Téléchargez le code source et accédez au dossier Example.

  2. Dans le dossier Example, exécutez la commande pod install --repo-update pour installer les dépendances du SDK.

  3. Ouvrez le fichier de projet AUIAICallExample.xcworkspace et modifiez l'ID du package.

  4. 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_type est VoiceAgent, puis renseignez les champs agent_id et region.

    // 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": []
            }
          ]
        }
    Remarque

    Pour tester un seul type d'agent, définissez uniquement les valeurs des champs agent_id et region correspondants. Pour la valeur region, 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

  5. 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.swift et 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ètre EnableDevelopToken, 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.

      Remarque

      Cette 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 :

      1. 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.

      2. 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.

  6. 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/"
    end
    Remarque
    • Derniè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.plist du 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.swift et définissez le nom de domaine de votre serveur.

    // AUIAICallAppServer.swift
    public let AICallServerDomain = "Your application server domain name"
    Remarque

    Si 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)
  }