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
Setelah mengunduh kode sumber, buka folder Example.
Di folder Example, jalankan perintah
pod install --repo-updateuntuk menginstal dependensi SDK.Buka file proyek
AUIAICallExample.xcworkspacedan ubah package ID.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 denganagent_typebernilaiVoiceAgent, lalu isi nilai untuk bidangagent_iddanregion.// 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": [] } ] }CatatanJika hanya ingin menguji satu tipe agen, cukup isi nilai
agent_iddanregionuntuk tipe agen tersebut. Untuk nilairegion, 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
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.swiftdan 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 parameterEnableDevelopToken, ambil App ID dan App Key untuk aplikasi ARTC dari Konsol, lalu hasilkan Token otentikasi di dalam aplikasi.CatatanMetode 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:
Buka halaman AI Agents di Konsol IMS. Klik agen untuk membuka halaman detail agen.

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

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/" endCatatanVersi 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.plistproyek 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.swiftdan atur nama domain server Anda.// AUIAICallAppServer.swift public let AICallServerDomain = "Your application server domain name"CatatanJika 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)
}