Topik ini menyediakan tautan unduh untuk ARTC SDK dan menjelaskan cara mengintegrasikannya ke dalam proyek Anda.
Unduh SDK
Dikembangkan oleh: Alibaba Cloud Computing Co., Ltd.
Platform | Tautan | Tanggal rilis |
Android |
| 2026-01-10 |
iOS |
| 2026-01-10 |
Windows |
| 2025-09-02 |
Mac |
| 2025-12-01 |
Untuk Web SDK, lihat Getting started.
Integrasikan SDK
Android
Persyaratan lingkungan
Android Studio 2020.3.1 atau versi yang lebih baru.
Perangkat Android yang menjalankan Android 5.0 (API Level 21) atau versi yang lebih baru dan terhubung ke Internet.
Langkah 1: Impor SDK
Integrasi otomatis melalui Maven (disarankan)
Buka file
settings.gradledi direktori root proyek Anda dan tambahkan Repositori Maven untuk ARTC SDK ke bidangdependencyResolutionManagement/repositories, seperti pada contoh berikut:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Add the Maven repository for the ARTC SDK
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
}
}Catatan: Jika Anda menggunakan Android Gradle Plugin versi di bawah 7.1.0, bidang tersebut mungkin tidak tersedia di file settings.gradle. Untuk informasi lebih lanjut, lihat Android Gradle Plugin 7.1. Dalam kasus ini, gunakan solusi alternatif berikut:
Buka file
app/build.gradledan tambahkan dependensi untuk ARTC SDK kedependencies. Anda dapat memperoleh versi terbaru di Unduh SDK dan ganti${latest_version}dengan nomor versi spesifik. Versi terbaru yang tersedia adalah 7.10.0.
dependencies {
// Add the dependencies for the ARTC SDK
// Replace ${latest_version} with the specific version number.
implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
// For versions 7.4.0 and below, add the keep dependency
// implementation 'com.aliyun.aio.keep:keep:1.0.1'
} Jika Anda menggunakan Android Gradle Plugin versi 8.1 atau lebih baru, Android Studio merekomendasikan migrasi informasi library dependensi ke katalog versi. Untuk informasi lebih lanjut, lihat Migrate dependencies.
Integrasi manual
Unduh file AAR ARTC SDK untuk versi yang Anda butuhkan (
AliVCSDK_ARTC-x.y.z.aar). Versi terbaru yang tersedia adalah 7.10.0.Salin file AAR yang telah diunduh ke direktori proyek Anda, misalnya
app/libs. Buat folder ini jika belum tersedia.Buka file
settings.gradledi direktori root proyek Anda dan tambahkan folder yang berisi file AAR kedependencyResolutionManagement/repositories, seperti pada contoh berikut:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Add the relative directory where the ARTC SDK is located
flatDir {
dir 'app/libs'
}
}
}Catatan: Jika Anda menggunakan Android Gradle Plugin versi di bawah 7.1.0, bidang tersebut mungkin tidak tersedia di file settings.gradle. Untuk informasi lebih lanjut, lihat Android Gradle Plugin 7.1. Dalam kasus ini, gunakan solusi alternatif berikut:
Buka file build.gradle di direktori root proyek Anda dan tambahkan bidang berikut ke allprojects/repositories:
allprojects {
repositories {
...
// Add the relative directory where the ARTC SDK is located
flatDir {
dir 'app/libs'
}
}
}Buka file
app/build.gradledan tambahkan dependensi untuk file AAR kedependencies. Contoh kode:
// Replace x.y.z with the specific version number.
implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')Dependensi yang sesuai akan dibuat di bawah
External Libraries.
Langkah 2: Konfigurasikan arsitektur CPU yang didukung
Buka file app/build.gradle dan tentukan arsitektur CPU yang didukung oleh proyek Anda di defaultConfig, seperti pada contoh berikut. Arsitektur yang tersedia meliputi armeabi-v7a, arm64-v8a, x86, dan x86_64.
android {
defaultConfig {
// ...other default configurations
// Support armeabi-v7a and arm64-v8a architectures
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
} Langkah 3: Konfigurasikan izin
Konfigurasikan izin yang diperlukan oleh aplikasi Anda:
Buka direktori app/src/main, buka file AndroidManifest.xml, dan tambahkan izin yang diperlukan.
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission
android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30" />
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion="30" />
<!-- Needed only if your app communicates with already-paired Bluetooth devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />Izin Bluetooth
File AndroidManifest.xml di ARTC SDK mencakup deklarasi untuk beberapa izin. Namun, file tersebut tidak berisi logika untuk meminta izin runtime. Izin BLUETOOTH_CONNECT, khususnya, merupakan izin runtime yang diperkenalkan di Android 12.
Setelah mengimpor ARTC SDK, izin berikut secara otomatis digabungkan ke dalam manifes aplikasi Anda. Kami menyarankan agar Anda menangani permintaan izin berdasarkan kasus penggunaan spesifik aplikasi Anda.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />Jika aplikasi Anda tidak memerlukan izin tertentu, Anda dapat secara eksplisit menghapusnya di AndroidManifest.xml proyek utama Anda:
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove"/>Panduan untuk izin Bluetooth:
Skenario 1: Fungsionalitas Bluetooth diperlukan
Jika targetSdk aplikasi Anda kurang dari 31
Fungsionalitas Bluetooth dikontrol oleh izin lama BLUETOOTH. Anda dapat mendeklarasikan hal berikut di manifes aplikasi utama Anda:
<!-- Declare the legacy Bluetooth permission -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Override and remove the newer permission for API 31+ -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />ARTC SDK mencakup deklarasi untuk
BLUETOOTH_CONNECT, yaitu izin yang diperkenalkan di Android 12 (API 31) yang harus diminta saat runtime.Di beberapa perangkat, jika manifes aplikasi mencakup deklarasi
BLUETOOTH_CONNECT, sistem akan mewajibkan izin tersebut diminta saat runtime; jika tidak,SecurityExceptionmungkin terjadi. Jika Anda mengalami masalah ini, Anda memiliki dua opsi:Opsi 1: Hapus deklarasi izin menggunakan
tools:node="remove".Opsi 2: Minta izin secara dinamis saat runtime.
Jika targetSdk aplikasi Anda 31 atau lebih tinggi
Anda perlu menangani izin Bluetooth lama dan baru. Deklarasikan hal berikut di AndroidManifest.xml Anda:
<!-- Declare the legacy Bluetooth permission and set maxSdkVersion for older devices -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!-- Declare the new Bluetooth permission for API 31+ -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- Other Bluetooth permissions as needed -->Karena BLUETOOTH_CONNECT merupakan izin runtime, Anda juga harus memintanya di kode Anda:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
String[] permissions = {
android.Manifest.permission.BLUETOOTH_CONNECT
};
ActivityCompat.requestPermissions(activity, permissions, REQUEST_BLUETOOTH);
}Skenario 2: Fungsionalitas Bluetooth tidak diperlukan
Untuk menghindari potensi crash atau pop-up izin terkait Bluetooth, disarankan untuk menghapus izin yang tidak diperlukan.
Di AndroidManifest.xml proyek utama Anda, gunakan tools:node="remove" untuk mengganti dan menghapus izin:
<!-- Override and remove Bluetooth permissions from the ARTC SDK -->
<uses-permission android:name="android.permission.BLUETOOTH" tools:node="remove" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />Izin runtime lainnya
Sejak Android 6.0 (API 23), izin "berbahaya" harus diminta saat runtime. Selain mendeklarasikannya secara statis di AndroidManifest.xml, Anda juga harus memintanya di kode Anda.
Izin yang memerlukan permintaan runtime meliputi:
Manifest.permission.CAMERA
Manifest.permission.WRITE_EXTERNAL_STORAGE
Manifest.permission.RECORD_AUDIO
Manifest.permission.READ_EXTERNAL_STORAGE
Manifest.permission.READ_PHONE_STATE
Jika menargetkan Android 12 (API 31) atau lebih tinggi, Anda juga harus meminta izin berikut saat runtime:
Manifest.permission.BLUETOOTH_CONNECT
Deskripsi izin:
Nama izin | Deskripsi | Tujuan | Wajib | Permintaan runtime |
| Izin kamera. | Untuk mengakses kamera perangkat guna menangkap video. | Ya | Android >= 6.0 |
| Izin mikrofon. | Untuk mengakses mikrofon perangkat guna menangkap audio. | Ya | Android >= 6.0 |
| Izin jaringan. | Untuk mentransmisikan data audio/video melalui jaringan (seperti melalui WebRTC). | Ya | Tidak |
| Mengizinkan aplikasi mengakses status jaringan. | Untuk memantau konektivitas demi mengoptimalkan kualitas transmisi (seperti menangani koneksi ulang). | Jika diperlukan | Tidak |
| Mengizinkan aplikasi mengakses status Wi-Fi. | Untuk mengambil informasi koneksi Wi-Fi demi mengoptimalkan kinerja jaringan. | Jika diperlukan | Tidak |
| Mengizinkan aplikasi mengubah pengaturan audio. | Untuk menyesuaikan volume sistem dan mengalihkan perangkat output audio. | Jika diperlukan | Tidak |
| Izin Bluetooth dasar. | Untuk menghubungkan ke perangkat Bluetooth, seperti headset. | Jika diperlukan | Tidak |
| Izin koneksi Bluetooth. | Untuk berkomunikasi dengan perangkat Bluetooth yang sudah dipasangkan, seperti streaming audio. | Jika diperlukan | android >= 12 |
| Mengizinkan akses ke informasi status telepon. | Untuk memulai/menghentikan audio berdasarkan status panggilan telepon. | Jika diperlukan | android >= 6.0 |
| Mengizinkan aplikasi membaca dari penyimpanan eksternal. | Untuk memutar file musik lokal. | Jika diperlukan | android >= 6.0 |
| Mengizinkan aplikasi menulis ke penyimpanan eksternal. | Untuk menyimpan file audio/video, log, dan data lainnya. | Jika diperlukan | android >= 6.0 |
Langkah 4: Cegah obfuscation kode (opsional)
Di file app/proguard-rules.pro, konfigurasikan aturan untuk SDK guna mencegah antarmuka yang disediakan SDK di-obfuscate, yang dapat menyebabkan pemanggilan fungsi tidak berjalan semestinya.
-keep class com.aliyun.allinone.** {
*;
}
-keep class com.aliyun.rts.network.AliHttpTool {
*;
}
-keep class com.aliyun.common.AlivcBase {
*;
}
-keep class com.huawei.multimedia.alivc.** {
*;
}
-keep class com.alivc.rtc.** {
*;
}
-keep class com.alivc.component.** {
*;
}
-keep class org.webrtc.** {
*;
}FAQ
Apakah ARTC SDK menambahkan izin tambahan?
Ya. Mengimpor ARTC SDK akan secara otomatis menambahkan izin Android berikut ke manifes aplikasi Anda. Daftar pasti dapat berbeda tergantung versi SDK. Untuk daftar definitif, lihat file AndroidManifest.xml di dalam library .aar.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />Izin ini terutama digunakan untuk fitur seperti deteksi status jaringan, akses informasi Wi-Fi, konektivitas Bluetooth, dan routing audio.
Bagaimana cara menangani konflik izin atau masalah kompatibilitas?
Meskipun ARTC SDK mencakup logika internal untuk menangani kompatibilitas versi Android (seperti persyaratan izin runtime untuk BLUETOOTH_CONNECT di Android 12+), masalah tetap dapat muncul dalam skenario tertentu:
Masalah runtime: Aplikasi Anda mungkin mengalami perilaku tak terduga, seperti kegagalan penggabungan manifes selama proses build.
Risiko peninjauan Google Play: Jika aplikasi Anda mendeklarasikan izin untuk fitur yang tidak digunakan (seperti Bluetooth), hal ini dapat melanggar prinsip hak istimewa minimal dan menyebabkan aplikasi Anda ditolak dari Play Store.
Untuk mengatasi masalah ini, kami menyarankan langkah-langkah berikut:
Evaluasi kebutuhan izin
Pertama, evaluasi apakah aplikasi Anda memerlukan semua izin yang dideklarasikan oleh SDK. Jika suatu fitur (seperti Bluetooth) tidak digunakan, hapus deklarasi izinnya. Misalnya, jikatargetSdkVersionaplikasi Anda 30 atau lebih rendah, Anda tidak memerlukan izinBLUETOOTH_CONNECT.Gunakan aturan penggabungan manifes untuk menyelesaikan konflik
Jika beberapa modul library mendeklarasikan izin yang sama dengan atribut yang bertentangan (sepertimaxSdkVersionyang berbeda), Anda dapat menggunakan namespacetoolsdi fileAndroidManifest.xmlutama aplikasi Anda untuk mengganti perilaku tersebut.<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <!-- Example: Remove a permission declared by the SDK but not needed by the app --> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" /> <!-- Example: Override a permission attribute --> <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" tools:replace="android:maxSdkVersion" /> </manifest>
iOS
Persyaratan lingkungan
Xcode 14.0 atau versi yang lebih baru. Kami menyarankan Anda menggunakan versi resmi terbaru.
CocoaPods 1.9.3 atau versi yang lebih baru.
Perangkat fisik yang menjalankan iOS 9.0 atau versi yang lebih baru.
Langkah 1: Impor SDK
Integrasi otomatis melalui CocoaPods (disarankan)
Buka Terminal dan instal CocoaPods. Jika Anda sudah menginstalnya, lewati langkah ini.
sudo gem install cocoapodsBuka Terminal, navigasikan ke direktori root proyek Anda, dan jalankan perintah berikut untuk membuat Podfile.
pod initBuka dan edit Podfile yang dihasilkan untuk menambahkan dependensi RTC SDK. Versi terbaru yang tersedia adalah 7.10.0.
target 'MyApp' do
use_frameworks!
# Replace ${latest version} with a specific version number.
pod 'AliVCSDK_ARTC', '~> ${latest version}'
endDi Terminal, jalankan perintah berikut untuk memperbarui library dependensi CocoaPods di proyek Anda.
pod installSetelah berhasil dieksekusi, file proyek dengan ekstensi
.xcworkspaceakan dihasilkan di folder proyek. Klik ganda file ini untuk membuka proyek di Xcode guna memuat dependensi CocoaPods secara otomatis di workspace.
Integrasi manual
Unduh SDK, peroleh paket ARTC SDK terbaru, dan ekstrak.
Salin file framework dari paket yang diekstrak ke direktori proyek Anda.
Buka proyek Anda di Xcode, pilih
File -> Add Files to "xxx"dari menu, dan tambahkan file library SDK ke proyek Anda.
Pilih target dan atur file framework yang diimpor ke
"Embed & Sign".

Langkah 2: Konfigurasikan izin
Anda harus menambahkan izin perekaman dan kamera
Tambahkan izin kamera dan mikrofon Privacy - Camera Usage Description dan Privacy - Microphone Usage Description ke file Info.plist.

Aktifkan mode latar belakang audio (opsional).
Seperti yang ditunjukkan pada gambar, centang Audio, AirPlay, and Picture in Picture.

Windows
Persyaratan lingkungan
Visual Studio 2015 atau versi yang lebih baru.
Windows 7 atau versi yang lebih baru.
Integrasikan SDK
Unduh SDK dan peroleh paket ARTC SDK terbaru.
Ekstrak paket dan salin file di direktori ke proyek Anda.
Konfigurasikan properti proyek:
Di jendela Solution Explorer, klik kanan proyek dan pilih Properties di menu.
Tambahkan direktori include: Pilih Configuration Properties > C/C++ > General, lalu tambahkan path file header ke Additional Include Directories.
Tambahkan direktori library: Di jendela Properties, pilih Configuration Properties > Linker > General, lalu tambahkan path file library (.lib) ke Additional Library Directories, seperti
.../x64/Release.Tentukan file library yang ditautkan: Di jendela Properties, pilih Configuration Properties > Linker > Input, lalu tambahkan nama file library yang akan ditautkan "AliRTCSdk.lib" ke Additional Dependencies.
macOS
Persyaratan lingkungan
Alat pengembangan: Xcode 14.0 atau versi yang lebih baru. Kami menyarankan Anda menggunakan versi resmi terbaru.
Perangkat uji: Komputer Mac yang menjalankan macOS 10.13 atau versi yang lebih baru.
Jaringan: Koneksi stabil.
Aplikasi ARTC: AppID dan AppKey aplikasi ARTC. Untuk informasi lebih lanjut, lihat Buat aplikasi ARTC.
Integrasi manual
Unduh ARTC SDK terbaru untuk macOS. Ekstrak paket.
Salin file ke direktori proyek Anda. Jika Anda tidak menggunakan AAC untuk pengkodean audio, Anda dapat mengabaikan
PluginAAC.framework.Buka proyek Anda di Xcode dan tambahkan library dinamis yang diperlukan. Pastikan atribut Embed untuk setiap framework yang ditambahkan diatur ke Embed & Sign.
Riwayat rilis
Versi | Platform | Tanggal rilis | Revisi |
V7.10.0 | iOS | 2026-01-10 | Perbaikan:
|
Android | |||
Linux | |||
V7.9.1 | iOS | 2025-12-04 |
|
Android | |||
V7.8.1 | iOS | 2025-11-12 |
|
Android | |||
V7.8.0 | iOS | 2025-11-05 |
|
Android | |||
Mac | 2025-12-01 | ||
V7.7.0 | iOS | 2025-09-30 |
|
Android | |||
V7.6.0 | iOS | 2025-09-02 |
|
Android | |||
Windows | |||
V7.5.0 | iOS | 2025-07-31 |
|
Android | |||
V7.4.0 | iOS | 2025-07-01 |
|
Android | |||
V7.3.0 | iOS | 2025-05-30 |
|
Android | |||
V7.2.1 | Windows | 2025-05-12 |
|
V7.2.0 | iOS | 2025-04-28 |
Catatan Perhatikan antarmuka terkait mute setelah Anda memperbarui SDK dari V6.18.0 atau versi yang lebih baru ke V7.2.0. |
Android | 2025-04-28 | ||
V7.1.0 | iOS | 2025-04-01 |
|
Android | 2025-04-01 | ||
V7.0.0 | iOS | 2025-02-28 |
|
Android | |||
Windows | 2025-03-31 |
| |
V6.21.0 | iOS | 2025-01-22 |
|
Android | |||
V6.20.0 | iOS | 2024-12-30 |
|
Android | |||
V6.19.0 | iOS | 2024-12-20 |
|
Android | |||
V6.18.0 | iOS | 2024-12-09 |
|
Android | |||
V6.17.0 | iOS | 2024-11-04 |
|
Android | |||
V6.15.0 | iOS | 2024-09-24 |
|
Android | |||
Windows |
| ||
V6.11.3 | iOS | 2024-09-14 | Untuk skenario AI + RTC, profil audio disediakan untuk ruang obrolan suara guna memastikan pesan sambutan lengkap disiarkan. |
Android | 2024-09-14 | ||
V6.11.2 | iOS | 2024-08-16 |
|
Android | |||
V6.11.0-beta | HarmonyOS | 2024-10-24 |
|
V6.8.7 | iOS | 2024-06-03 |
|
Android | |||
V6.8.5 | iOS | 2024-04-01 |
|
Android | |||
V6.8.2 | iOS | 2024-03-04 |
|
Android | |||
V6.8.1 | Windows | 2024-03-19 |
|
V6.4.3 | iOS | 2023-12-04 |
|
Android |