Todos os produtos
Search
Central de documentação

Intelligent Media Services:iOS User Guide

Última atualização: Jun 28, 2026

Integre agentes de áudio e vídeo da Real-time Conversational AI ao seu aplicativo iOS.

Descrição do código-fonte

Download do código-fonte

Baixe o código-fonte no projeto open source do GitHub.

Estrutura do código-fonte

├── 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  

Requisitos de ambiente

  • Xcode 16.0 ou superior. Recomendamos a versão oficial mais recente.

  • CocoaPods 1.9.3 ou superior.

  • Dispositivo físico iOS com versão 11,0 ou posterior.

Pré-requisitos

Desenvolva as operações de API relevantes em seu servidor ou implante o código-fonte do servidor fornecido. Para mais informações, consulte Implantar um projeto.

Executar a demonstração

  1. Baixe o código-fonte e acesse a pasta Example.

  2. Na pasta Example, execute o comando pod install --repo-update para instalar as dependências do SDK.

  3. Abra o arquivo de projeto AUIAICallExample.xcworkspace e modifique o ID do pacote.

  4. Abra o arquivo de configuração de cenário do agente /Resources/AUIAIMain.bundle/agent_scenes.json. Especifique o ID do agente e a região conforme o tipo de agente. Por exemplo, para configurar um agente de voz, localize o nó Scenes onde agent_type é VoiceAgent e preencha os campos agent_id e 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": []
            }
          ]
        }
    Nota

    Para testar apenas um tipo de agente, basta definir os valores dos campos agent_id e region correspondentes. Para o valor de region, consulte a coluna Region ID na tabela a seguir.

    Nome da região

    Region ID

    China (Hangzhou)

    cn-hangzhou

    China (Shanghai)

    cn-shanghai

    China (Beijing)

    cn-beijing

    China (Shenzhen)

    cn-shenzhen

    Singapura

    ap-southeast-1

  5. Após configurar o agente, inicie-o usando um dos métodos abaixo:

    • Com AppServer implantado: Se você já implantou o código-fonte do AppServer fornecido pela Alibaba Cloud, acesse AUIAICallAppServer.swift e defina o nome de domínio do seu servidor.

      // AUIAICallAppServer.swift
      public let AICallServerDomain = "Your application server domain name"
    • Sem AppServer implantado: Para executar rapidamente a demonstração sem implantar o AppServer, acesse AUIAICallAuthTokenHelper.swift. Configure o parâmetro EnableDevelopToken, obtenha o App ID e a App Key do aplicativo ARTC no console e gere o token de autenticação diretamente no aplicativo.

      Nota

      Este método exige a incorporação da sua AppKey e de outras informações sensíveis no aplicativo. Ele se destina exclusivamente a testes e desenvolvimento. Nunca utilize este método em ambiente de produção. Expor sua AppKey no lado do cliente gera um grave risco de segurança.

      // 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"
      
          ...
      }

      Para obter o AppID e a AppKey do aplicativo ARTC:

      1. Acesse o console IMS e clique em seu agente de IA para abrir a página de detalhes.

        Na aba Basic Information, localize a seção Workflow Configuration e anote o RTC App ID listado em ARTC application.

      2. Clique no RTC App ID para abrir o console do ApsaraVideo Live e obter o App ID e a AppKey.

        Na página Application Management, clique em seu aplicativo, acesse a aba Basic Information e copie o App ID e a AppKey.

  6. Selecione o target Example e, em seguida, compile e execute o projeto.

Desenvolver rapidamente seu próprio recurso de chamada de IA

Integre o AUIAICall ao seu aplicativo para habilitar recursos de chamada de áudio e vídeo com agentes.

Integrar o código-fonte

  • Baixe o repositório e copie a pasta iOS para o diretório de código do seu aplicativo. Renomeie a pasta para AUIAICall, coloque-a no mesmo nível do seu Podfile e exclua as pastas Example e AICallKit.

  • Modifique o Podfile para importar as seguintes dependências:

    • AliVCSDK_ARTC: SDK cliente para interação de áudio e vídeo em tempo real. Também é possível usar AliVCSDK_Standard ou AliVCSDK_InteractiveLive. Para mais informações, consulte iOS.

    • ARTCAICallKit: SDK para o cenário de chamadas da Real-time Conversational AI.

    • AUIFoundation: Componentes básicos de interface do usuário.

    • AUIAICall: Código-fonte do componente de interface do usuário para o cenário de chamada de 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
    Nota
    • Versão mais recente do SDK ARTC:

    • Versão mais recente do SDK AICallKit: .

  • Execute o comando pod install --repo-update.

  • A integração do código-fonte está concluída.

Configuração do projeto

  • Adicione permissões de microfone e câmera. Abra o arquivo info.plist do projeto e adicione a permissão de microfone (NSMicrophoneUsageDescription), a permissão de câmera (NSCameraUsageDescription) e a permissão da biblioteca de fotos (NSPhotoLibraryUsageDescription).

  • Nas configurações do projeto, na aba Signing & Capabilities, ative Background Modes. Caso não habilite os modos em segundo plano, será necessário gerenciar manualmente o encerramento das chamadas quando o aplicativo entrar em segundo plano.

Configuração do código-fonte

  • Conclua as etapas de pré-requisito.

  • Acesse AUIAICallAppServer.swift e defina o nome de domínio do seu servidor.

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

    Se você ainda não implantou o AppServer, pode gerar um token de autenticação no aplicativo para testar rapidamente a demonstração. Para mais informações, consulte Sem AppServer implantado.

API de chamada

Após concluir as etapas anteriores, inicie chamadas de IA a partir de outros módulos ou da página inicial do seu aplicativo utilizando as interfaces do componente. Também é possível modificar o código-fonte para atender aos requisitos do seu negócio.

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