Topik ini menyediakan tautan unduh untuk SDK ARTC, menjelaskan proses integrasinya, serta mencakup informasi relevan lainnya.
Integrasikan SDK
Android
Persyaratan lingkungan
Sebelum mengintegrasikan SDK ARTC, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:
Android Studio 2020.3.1 atau versi lebih baru.
Perangkat fisik yang menjalankan Android 5.0 (API Level 21) atau versi lebih baru dan terhubung ke internet.
Langkah 1: Impor SDK
Maven (disarankan)
Buka file
settings.gradledi direktori root proyek Anda. Di blokdependencyResolutionManagement/repositories, tambahkan repositori Maven untuk SDK ARTC, seperti pada contoh berikut:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Tambahkan repositori Maven untuk SDK ARTC
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
}
}Perhatikan bahwa jika Anda menggunakan versi Android Gradle Plugin sebelum 7.1.0, Anda mungkin tidak menemukan blok tersebut di file settings.gradle. Untuk informasi lebih lanjut, lihat Android Gradle Plugin 7.1. Dalam kasus ini, gunakan alternatif berikut:
Buka file
app/build.gradledan tambahkan dependensi untuk SDK ARTC di blokdependencies. Informasi versi dapat ditemukan di Unduhan SDK. Ganti${latest_version}dengan nomor versi spesifik. Versi terbaru adalah 7.11.0.
dependencies {
// Tambahkan dependensi untuk SDK ARTC
// Ganti ${latest_version} dengan nomor versi spesifik
implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
// Untuk versi 7.4.0 dan sebelumnya, Anda juga harus menambahkan dependensi keep
// implementation 'com.aliyun.aio.keep:keep:1.0.1'
}Jika Anda menggunakan Android Gradle Plugin 8.1 atau versi lebih baru, Android Studio merekomendasikan migrasi dependensi Anda ke katalog versi. Untuk informasi lebih lanjut, lihat Migrasi dependensi ke katalog versi.
Manual
Dari Unduhan SDK, unduh file AAR untuk versi SDK ARTC yang dibutuhkan. Versi terbaru adalah 7.11.0. Nama file berformat
AliVCSDK_ARTC-x.y.z.aar.Salin file AAR yang diunduh ke direktori proyek Anda, misalnya
app/libs. Jika direktori ini belum ada, buatlah.Buka file
settings.gradledi direktori root proyek Anda. Di blokdependencyResolutionManagement/repositories, tambahkan direktori yang berisi file AAR, seperti pada contoh berikut:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Tambahkan path relatif ke direktori yang berisi SDK ARTC
flatDir {
dir 'app/libs'
}
}
}Perhatikan bahwa jika Anda menggunakan versi Android Gradle Plugin sebelum 7.1.0, Anda mungkin tidak menemukan blok tersebut di file settings.gradle. Untuk informasi lebih lanjut, lihat Android Gradle Plugin 7.1. Dalam kasus ini, gunakan alternatif berikut:
Buka file build.gradle di direktori root proyek Anda dan tambahkan konfigurasi berikut ke blok allprojects/repositories:
allprojects {
repositories {
...
// Tambahkan path relatif ke direktori yang berisi SDK ARTC
flatDir {
dir 'app/libs'
}
}
}Buka file
app/build.gradle. Di blokdependencies, tambahkan dependensi untuk file AAR sebagai berikut:
// Ganti x.y.z dengan nomor versi spesifik
implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')Setelah build selesai, Anda dapat menemukan dependensi yang sesuai di bawah External Libraries.

Langkah 2: Konfigurasikan arsitektur CPU yang didukung
Buka file app/build.gradle. Di blok defaultConfig, tentukan arsitektur CPU yang didukung oleh proyek Anda. Arsitektur yang valid meliputi armeabi-v7a, arm64-v8a, x86, dan x86_64. Konfigurasikan sesuai kebutuhan proyek Anda.
android {
defaultConfig {
// ...konfigurasi default lainnya
// Mendukung arsitektur armeabi-v7a dan arm64-v8a
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
} Langkah 3: Atur izin
Konfigurasikan izin yang diperlukan untuk aplikasi Anda berdasarkan kasus penggunaannya.
Navigasi ke 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" />
<!-- Minta izin Bluetooth lama pada perangkat lama. -->
<uses-permission
android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30" />
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN"
android:maxSdkVersion="30" />
<!-- Diperlukan hanya jika aplikasi Anda berkomunikasi dengan perangkat Bluetooth yang sudah dipasangkan. -->
<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 runtime Bluetooth
File AndroidManifest.xml di SDK ARTC mencakup deklarasi beberapa izin tetapi tidak berisi logika untuk memintanya saat runtime. Izin BLUETOOTH_CONNECT khususnya merupakan izin runtime yang diperkenalkan di Android 12. Setelah Anda mengimpor SDK ARTC, izin berikut secara otomatis digabungkan ke dalam manifes aplikasi Anda. Tangani 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 menghapus deklarasinya di file AndroidManifest.xml proyek utama Anda:
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove"/>Ikuti panduan ini untuk izin Bluetooth:
Skenario 1: Aplikasi memerlukan Bluetooth
Untuk aplikasi dengan targetSdk < 31
Ketika targetSdk proyek Anda kurang dari 31, fungsi Bluetooth dikendalikan oleh izin lama BLUETOOTH. Anda dapat mendeklarasikan hal berikut di manifes aplikasi Anda:
<!-- Deklarasikan izin Bluetooth lama -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Timpa dan hapus izin untuk API 31+ -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />SDK mencakup deklarasi untuk izin
BLUETOOTH_CONNECT, yang diperkenalkan di Android 12 (API level 31) dan harus diminta saat runtime menggunakanrequestPermissions.Di beberapa perangkat, jika manifes aplikasi mencakup deklarasi
BLUETOOTH_CONNECT, sistem mengharuskan Anda meminta izin tersebut saat runtime. Kegagalan melakukannya dapat menyebabkanSecurityException. Jika Anda mengalami masalah ini, Anda memiliki dua opsi:Opsi 1: Hapus deklarasi izin menggunakan
tools:node="remove".Opsi 2: Minta izin tersebut saat runtime.
Untuk aplikasi dengan targetSdk >= 31
Ketika targetSdk proyek Anda 31 atau lebih tinggi, Anda perlu menangani izin Bluetooth lama dan baru. Deklarasikan izin di file AndroidManifest.xml aplikasi utama Anda:
<!-- Deklarasikan izin Bluetooth lama dan atur android:maxSdkVersion ke 30 untuk kompatibilitas mundur -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!-- Deklarasikan izin Bluetooth untuk API 31+ -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- Izin Bluetooth lainnya -->Karena BLUETOOTH_CONNECT adalah 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: Aplikasi tidak memerlukan Bluetooth
Untuk menghindari potensi crash atau pop-up izin terkait Bluetooth, hapus izin Bluetooth yang tidak diperlukan.
Di file AndroidManifest.xml proyek utama Anda, gunakan tools:node="remove" untuk menimpa dan menghapus izin:
<!-- Timpa dan hapus deklarasi izin Bluetooth dari SDK ARTC -->
<uses-permission android:name="android.permission.BLUETOOTH" tools:node="remove" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />Izin runtime lainnya
Pada Android 6.0 (API level 23) dan versi lebih baru, Anda harus meminta izin berbahaya saat runtime. Selain mendeklarasikan izin di file AndroidManifest.xml, Anda juga harus memintanya di kode Anda saat runtime.
Izin berikut memerlukan permintaan runtime:
Manifest.permission.CAMERA
Manifest.permission.WRITE_EXTERNAL_STORAGE
Manifest.permission.RECORD_AUDIO
Manifest.permission.READ_EXTERNAL_STORAGE
Manifest.permission.READ_PHONE_STATE
Pada Android 12 (API level 31) dan versi lebih baru, Anda juga harus meminta izin berikut saat runtime:
Manifest.permission.BLUETOOTH_CONNECT
Tabel berikut menjelaskan izin yang relevan.
Nama | Deskripsi | Tujuan | Wajib | Permintaan runtime |
| Izin kamera. | Untuk mengakses kamera perangkat guna menangkap aliran video. | Ya | Android >= 6.0 |
| Izin mikrofon. | Untuk mengakses mikrofon perangkat guna menangkap aliran audio. | Ya | Android >= 6.0 |
| Izin jaringan. | Untuk mentransmisikan data audio dan video melalui jaringan (misalnya, menggunakan protokol seperti WebRTC). | Ya | Tidak |
| Memungkinkan aplikasi mengakses status jaringan. | Untuk memantau konektivitas jaringan guna mengoptimalkan kualitas transmisi, seperti menangani koneksi ulang. | Sesuai kebutuhan | Tidak |
| Memungkinkan aplikasi mengakses status Wi-Fi. | Untuk mengambil informasi koneksi Wi-Fi saat ini guna mengoptimalkan kinerja jaringan. | Sesuai kebutuhan | Tidak |
| Memungkinkan aplikasi memodifikasi pengaturan audio. | Untuk menyesuaikan volume sistem dan mengalihkan perangkat output audio. | Sesuai kebutuhan | Tidak |
| Izin Bluetooth dasar. | Untuk menghubungkan ke perangkat Bluetooth, seperti headset. | Sesuai kebutuhan | Tidak |
| Izin koneksi Bluetooth. | Untuk berkomunikasi dengan perangkat Bluetooth yang sudah dipasangkan, seperti streaming audio. | Sesuai kebutuhan | Android >= 12 |
| Memungkinkan akses ke status telepon. | Untuk memulai atau menghentikan audio berdasarkan status panggilan telepon. | Sesuai kebutuhan | Android >= 6.0 |
| Memungkinkan aplikasi membaca file dari penyimpanan eksternal. | Untuk memutar file musik lokal. | Sesuai kebutuhan | Android >= 6.0 |
| Memungkinkan aplikasi menulis ke penyimpanan eksternal. | Untuk menyimpan file audio, file video, dan log. | Sesuai kebutuhan | Android >= 6.0 |
Langkah 4: Cegah obfuscation kode (opsional)
Di file app/proguard-rules.pro Anda, tambahkan aturan berikut untuk SDK. Aturan ini mencegah obfuscation antarmuka publik SDK, yang dapat menyebabkan aplikasi Anda gagal.
-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 SDK ARTC memperkenalkan izin tambahan?
Setelah Anda mengimpor SDK ARTC, izin Android berikut secara otomatis dideklarasikan (Daftar spesifik dapat bervariasi tergantung versi SDK. Untuk daftar pasti, rujuk konten AndroidManifest.xml di file .aar yang diintegrasikan):
<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.
Menangani konflik izin
Meskipun SDK ARTC mencakup logika internal untuk menangani kompatibilitas versi Android (seperti persyaratan izin runtime untuk BLUETOOTH_CONNECT pada Android 12+), masalah masih dapat muncul dalam skenario tertentu:
Masalah build atau runtime: Aplikasi Anda mungkin mengalami kegagalan penggabungan manifes selama proses build atau perilaku tak terduga saat runtime.
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 berisiko ditolak dari Play Store.
Untuk menyelesaikan masalah ini, gunakan langkah-langkah berikut:
Evaluasi kebutuhan izin
Pertama, evaluasi apakah aplikasi Anda benar-benar memerlukan semua izin yang dideklarasikan oleh SDK. Jika fitur seperti Bluetooth tidak digunakan, Anda dapat menghapus deklarasi izin yang sesuai. Misalnya, jika aplikasi Anda hanya berjalan di perangkat dengan Android API 30 atau lebih rendah, Anda dapat menghapus deklarasi untuk izinBLUETOOTH_CONNECTkarena versitargetSdkAnda adalah 30 atau lebih rendah.Selesaikan konflik menggunakan direktif penggabungan Manifest
Jika beberapa modul mendeklarasikan atribut berbeda untuk izin yang sama, sepertimaxSdkVersionyang tidak konsisten, Anda dapat menggunakan namespacetoolsdi fileAndroidManifest.xmlutama untuk menyelesaikan konflik:<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <!-- Contoh: Hapus izin yang dideklarasikan oleh SDK tetapi tidak diperlukan oleh aplikasi --> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" /> <!-- Contoh: Timpa atribut izin --> <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" tools:replace="android:maxSdkVersion" /> </manifest>
iOS
Persyaratan lingkungan
Sebelum mengintegrasikan SDK ARTC, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:
Xcode 14.0 atau versi lebih baru. Disarankan menggunakan versi resmi terbaru.
CocoaPods 1.9.3 atau versi lebih baru.
Perangkat fisik yang menjalankan iOS 9.0 atau versi lebih baru.
Langkah 1: Impor SDK
CocoaPods (disarankan)
Buka Terminal dan instal CocoaPods di perangkat pengembangan Anda. Jika CocoaPods sudah terinstal, lewati langkah ini.
sudo gem install cocoapodsBuka Terminal, navigasi ke direktori root proyek Anda, dan jalankan perintah berikut untuk membuat Podfile.
pod initBuka dan edit Podfile yang dihasilkan untuk menambahkan dependensi SDK ARTC. Versi terbaru adalah 7.11.0.
target 'MyApp' do
use_frameworks!
# Ganti ${latest version} dengan nomor versi spesifik.
pod 'AliVCSDK_ARTC', '~> ${latest version}'
endDi Terminal, jalankan perintah berikut untuk memperbarui dependensi CocoaPods di proyek Anda.
pod installSetelah perintah selesai, file proyek dengan ekstensi
.xcworkspacedihasilkan di folder proyek. Klik ganda file ini untuk membuka proyek di Xcode. Workspace secara otomatis memuat dependensi CocoaPods.
Manual
Unduh paket SDK ARTC 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", dan tambahkan file library SDK ke proyek Anda.
Pilih target dan atur atribut Embed untuk framework yang diimpor menjadi
"Embed & Sign".

Langkah 2: Atur izin
Anda harus menambahkan izin untuk akses kamera dan mikrofon.
Di file Info.plist, tambahkan kunci dan deskripsi untuk Privacy - Camera Usage Description dan Privacy - Microphone Usage Description.

Aktifkan mode audio latar belakang (opsional).
Untuk mengaktifkan mode ini, pilih Audio, AirPlay, and Picture in Picture di kemampuan proyek Anda.

Windows
Persyaratan lingkungan
Sebelum mengintegrasikan SDK ARTC, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:
Visual Studio 2015 atau versi lebih baru.
Windows 7 atau versi lebih baru.
Integrasikan SDK
Unduh paket SDK ARTC terbaru.
Ekstrak paket dan salin file ke dalam proyek Anda.
Konfigurasikan properti proyek:
Di jendela Solution Explorer, klik kanan proyek dan pilih Properties.
Tambahkan direktori include: Navigasi ke Configuration Properties → C/C++ → General, dan tambahkan path file header ke Additional Include Directories.
Tambahkan direktori library. Di jendela Properties, pilih Configuration Properties > Linker > General. Di field Additional Library Directories, tambahkan path ke file library (.lib), seperti
.../x64/Release.Tentukan file library link: Di jendela Properties, navigasi ke Configuration Properties → Linker → Input, dan tambahkan nama file library "AliRTCSdk.lib" ke Additional Dependencies.
macOS
Persyaratan lingkungan
Sebelum mengintegrasikan SDK ARTC, pastikan lingkungan pengembangan Anda memenuhi persyaratan berikut:
Alat pengembangan: Xcode 14.0 atau versi lebih baru. Disarankan menggunakan versi resmi terbaru.
Perangkat uji: Komputer Mac yang menjalankan macOS 10.13 atau versi lebih baru.
Lingkungan jaringan: Diperlukan koneksi jaringan yang stabil.
Persiapan aplikasi: Dapatkan AppID dan AppKey untuk aplikasi komunikasi real-time Anda. Untuk informasi lebih lanjut, lihat Buat aplikasi.
Integrasi manual
Unduh paket SDK ARTC terbaru dan ekstrak.
Salin file dari paket SDK ke direktori proyek Anda. Jika Anda tidak menggunakan AAC untuk pengkodean audio, abaikan
PluginAAC.framework.Buka Xcode dan tambahkan library dinamis yang diperlukan. Atur atribut Embed untuk library dinamis yang ditambahkan menjadi Embed & Sign.
Riwayat rilis
Versi | Platform | Tanggal rilis | Deskripsi |
v7.11.0 | iOS | 2026-04-08 |
|
Android | |||
v7.10.0 | iOS | 2026-01-10 |
|
Android | |||
v7.9.1 | iOS | 2025-12-04 |
|
Android | |||
v7.8.1 | iOS | 2025-11-12 |
|
Android | |||
v7.8.0 | iOS | 2025-11-05 |
|
Android | |||
macOS | 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 |
|
Android | |||
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 | Dalam kasus penggunaan AI+RTC, menambahkan AudioProfile chatroom untuk memastikan pemutaran lengkap pesan sambutan. |
Android | 2024-09-14 | ||
v6.11.2 | iOS | 2024-08-16 |
|
Android | |||
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 |