All Products
Search
Document Center

Intelligent Media Services:Panduan Pengguna iOS

Last Updated:Mar 10, 2026

Topik ini menjelaskan cara mengintegrasikan agen audio dan video Real-time Conversational AI ke dalam aplikasi iOS Anda.

Deskripsi Kode Sumber

Unduh Kode Sumber

Anda dapat mengunduh kode sumber dari proyek open source GitHub.

Struktur Kode Sumber

├── iOS  // Direktori root untuk platform iOS
│   ├── AUIAICall.podspec                // File deskripsi Pod
│   ├── Source                                    // File kode sumber
│   ├── Resources                                 // File sumber daya
│   ├── Example                                   // Kode demo
│   ├── AUIBaseKits                               // Komponen UI dasar 
│   ├── README.md                                 // Readme  

Persyaratan Lingkungan

  • Xcode 16.0 atau versi yang lebih baru. Disarankan menggunakan rilis resmi terbaru.

  • CocoaPods 1.9.3 atau versi yang lebih baru.

  • Perangkat iOS fisik yang menjalankan iOS 11.0 atau versi yang lebih baru.

Prasyarat

Kembangkan operasi API terkait di server Anda atau deploy kode sumber server yang disediakan. Untuk informasi selengkapnya, lihat Deploy a project.

Jalankan Demo

  1. Setelah mengunduh kode sumber, buka folder Example.

  2. Di folder Example, jalankan perintah pod install --repo-update untuk menginstal dependensi SDK.

  3. Buka file proyek AUIAICallExample.xcworkspace dan ubah package ID.

  4. Anda dapat membuka file konfigurasi skenario agen /Resources/AUIAIMain.bundle/agent_scenes.json. Isi agent ID dan wilayahnya berdasarkan tipe agen. Misalnya, saat mengonfigurasi agen voice, temukan node Scenes dengan agent_type bernilai VoiceAgent, lalu isi nilai untuk bidang agent_id dan region.

    // Contoh berikut menunjukkan cara mengonfigurasi agen panggilan suara
        {
          "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": []
            }
          ]
        }
    Catatan

    Jika hanya ingin menguji satu tipe agen, cukup isi nilai agent_id dan region untuk tipe agen tersebut. Untuk nilai region, lihat kolom Region ID pada tabel berikut.

    Nama wilayah

    Region ID

    China (Hangzhou)

    cn-hangzhou

    China (Shanghai)

    cn-shanghai

    China (Beijing)

    cn-beijing

    China (Shenzhen)

    cn-shenzhen

    Singapura

    ap-southeast-1

  5. Setelah mengonfigurasi agen, gunakan salah satu dari dua metode berikut untuk meluncurkannya:

    • Jika AppServer telah di-deploy: Jika Anda telah menerapkan kode sumber AppServer yang disediakan oleh Alibaba Cloud di server Anda, buka file AUIAICallAppServer.swift dan atur nama domain server Anda.

      // AUIAICallAppServer.swift
      public let AICallServerDomain = "Your application server domain name"
    • Jika AppServer belum di-deploy: Jika Anda belum menerapkan kode sumber AppServer dan ingin segera menjalankan demo untuk menguji agen, buka file AUIAICallAuthTokenHelper.swift. Di file ini, konfigurasikan parameter EnableDevelopToken, ambil App ID dan App Key untuk aplikasi ARTC dari Konsol, lalu hasilkan Token otentikasi di dalam aplikasi.

      Catatan

      Metode ini memerlukan penyematan AppKey dan informasi sensitif lainnya ke dalam aplikasi Anda. Metode ini hanya untuk pengujian dan pengembangan. Jangan pernah menggunakan metode ini di lingkungan produksi. Mengekspos AppKey di sisi klien menciptakan risiko keamanan serius.

      // AUIAICallAuthTokenHelper.swift
      @objcMembers public class AUIAICallAuthTokenHelper: NSObject {
      
          // Setel ke true untuk mengaktifkan mode Develop
          private static let EnableDevelopToken: Bool = true     
          // Copy RTCAppId dari Konsol
          private static let RTCDevelopAppId: String = "RTC AppId used by the agent"
          // Copy RTCAppKey dari Konsol
          private static let RTCDevelopAppKey: String = "RTC AppKey used by the agent"
      
          ...
      }

      Untuk mendapatkan AppID dan AppKey aplikasi ARTC:

      1. Buka halaman AI Agents di Konsol IMS. Klik agen untuk membuka halaman detail agen.

        image

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

        image

  6. Pilih target Example, lalu kompilasi dan jalankan proyek.

Kembangkan Fitur Panggilan AI Sendiri Secara Cepat

Ikuti langkah-langkah berikut untuk mengintegrasikan AUIAICall ke dalam aplikasi Anda dan mengaktifkan fitur panggilan audio dan video agen.

Integrasikan Kode Sumber

  • Setelah mengunduh repositori, salin folder iOS ke direktori kode aplikasi Anda. Ubah nama folder menjadi AUIAICall, letakkan sejajar dengan Podfile Anda, lalu hapus folder Example dan AICallKit.

  • Ubah Podfile untuk mengimpor hal berikut:

    • AliVCSDK_ARTC: SDK client untuk interaksi audio dan video real-time. Anda juga dapat menggunakan AliVCSDK_Standard atau AliVCSDK_InteractiveLive. Untuk informasi selengkapnya tentang metode integrasi, lihat iOS.

    • ARTCAICallKit: SDK untuk skenario panggilan Real-time Conversational AI.

    • AUIFoundation: Komponen UI dasar.

    • AUIAICall: Kode sumber komponen UI skenario panggilan AI.

    # Membutuhkan iOS 11.0 atau lebih baru
    platform :ios, '11.0'
    
    target 'Your App target' do
        # Integrasikan SDK terminal audio dan video yang sesuai berdasarkan skenario bisnis Anda
        pod 'AliVCSDK_ARTC', '~> x.x.x'
    
        # SDK skenario panggilan Real-time Conversational AI
        pod 'ARTCAICallKit', '~> x.x.x'
    
        # Kode sumber komponen UI dasar
        pod 'AUIFoundation', :path => "./AUIAICall/AUIBaseKits/AUIFoundation/", :modular_headers => true
    
        # Kode sumber komponen UI skenario panggilan AI
        pod 'AUIAICall',  :path => "./AUIAICall/"
    end
    Catatan
    • Versi terbaru SDK ARTC: 7.10.0

    • Versi terbaru SDK AICallKit: 2.11.0.

  • Jalankan perintah pod install --repo-update.

  • Integrasi kode sumber telah selesai.

Konfigurasi Proyek

  • Tambahkan izin untuk mikrofon dan kamera. Buka file info.plist proyek Anda dan tambahkan izin mikrofon (NSMicrophoneUsageDescription), izin kamera (NSCameraUsageDescription), serta izin pustaka foto (NSPhotoLibraryUsageDescription).

  • Di pengaturan proyek Anda, pada tab Signing & Capabilities, aktifkan Background Modes. Jika tidak mengaktifkan background modes, Anda harus menangani secara manual penghentian panggilan saat aplikasi masuk ke latar belakang.

Konfigurasi Kode Sumber

  • Anda telah menyelesaikan langkah prasyarat.

  • Buka file AUIAICallAppServer.swift dan atur nama domain server Anda.

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

    Jika Anda belum menerapkan AppServer, Anda dapat menghasilkan Token otentikasi di dalam aplikasi untuk menguji demo secara cepat. Untuk informasi selengkapnya, lihat If AppServer is not deployed.

Panggil API

Setelah menyelesaikan langkah-langkah di atas, Anda dapat meluncurkan panggilan AI dari modul lain atau halaman utama aplikasi Anda menggunakan antarmuka komponen. Anda juga dapat memodifikasi kode sumber untuk memenuhi kebutuhan bisnis Anda.

// Impor komponen
import AUIAICall
import ARTCAICallKit
import AUIFoundation

// Periksa apakah izin mikrofon diaktifkan
AVDeviceAuth.checkMicAuth { auth in
   if auth == false {
       return
   }

   // Untuk userId, gunakan ID pengguna setelah aplikasi Anda login
   let userId = "xxx"
   // Bangun controller menggunakan userId
   let controller = AUIAICallController(userId: userId)
   // Atur agent ID. Tidak boleh nil.
   controller.config.agentId = "xxx"
   // Atur tipe panggilan (voice, digital human, atau visual understanding). Harus sesuai dengan tipe agent ID.
   controller.config.agentType = agentType
   // Wilayah tempat agen berada. Tidak boleh nil.
   controller.config.region = "xx-xxx"
   // Buat ViewController panggilan
   let vc = AUIAICallViewController(controller)
   // Buka antarmuka panggilan dalam mode layar penuh
   vc.modalPresentationStyle = .fullScreen
   vc.modalTransitionStyle = .coverVertical
   vc.modalPresentationCapturesStatusBarAppearance = true
   self.present(vc, animated: true)
  }