This topic provides download links for the ApsaraVideo Real-time Communication (ARTC) SDK, describes how to integrate the SDK, and provides related information.
SDK integration
Android
Preparations
Before you integrate the ARTC SDK, make sure that your development environment meets the following requirements:
Android Studio 2020.3.1 or later.
A test device that runs Android 5.0 (API Level 21) or later and is connected to the internet.
Step 1: Import the SDK
Automatic integration through Maven (recommended)
Open the
settings.gradlefile in the root directory of your project. Add the Maven repository for the ARTC SDK to thedependencyResolutionManagement/repositoriesfield.
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' }
}
}Note: If you use a version of the Android Gradle Plugin earlier than 7.1.0, you may not find the corresponding field in the settings.gradle file. For more information, see Android Gradle Plugin 7.1. In this case, you can use the following alternative solution.
Open the
app/build.gradlefile. Add the dependency on the ARTC SDK todependencies. You can obtain the version information in Download the SDK. Replace${latest_version}with the actual version number. The latest version is 7.8.1.
dependencies {
// Import the dependency on the ApsaraVideo Real-time Communication SDK.
// Replace ${latest_version} with the specific version number.
implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
// For v7.4.0 and earlier, you must add keep.
// implementation 'com.aliyun.aio.keep:keep:1.0.1'
}If you use the Android Gradle Plugin 8.1 or later, Android Studio recommends that you migrate dependency library information to the version catalog. For more information, see Migrate dependencies to version catalogs.
Manual integration by downloading the SDK
In Download the SDK, download the AAR file of the ARTC SDK for the required version. The latest version is 7.8.1. For example,
AliVCSDK_ARTC-x.y.z.aar.Copy the downloaded AAR file to your project directory, such as
app/libs. If the folder does not exist, create it.Open the
settings.gradlefile in the root directory of your project. Add the folder that contains the AAR file todependencyResolutionManagement/repositories.
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'
}
}
}Note: If you use a version of the Android Gradle Plugin earlier than 7.1.0, you may not find the corresponding field in the settings.gradle file. For more information, see Android Gradle Plugin 7.1. In this case, you can use the following alternative solution.
Open the build.gradle file in the root directory of your project. Add the following field to allprojects/repositories.
allprojects {
repositories {
...
// Add the relative directory where the ARTC SDK is located.
flatDir {
dir 'app/libs'
}
}
}Open the
app/build.gradlefile. Add the dependency on the AAR file todependencies.
// Replace x.y.z with the corresponding version number.
implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')After the build is complete, the corresponding dependency is generated under External Libraries.

Step 2: Configure supported CPU architectures
In the app/build.gradle file, specify the CPU architectures that your project supports in defaultConfig. The available architectures are armeabi-v7a, arm64-v8a, x86, and x86_64. You can configure them as needed.
android {
defaultConfig {
// ...other default configurations
// Support armeabi-v7a and arm64-v8a architectures.
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
} Step 3: Set permissions
Set the permissions that your application requires.
Go to the app/src/main directory, open the AndroidManifest.xml file, and add the required permissions.
<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" />Note: For Android 6.0 (API 23) and later, you must dynamically request dangerous permissions. In addition to statically requesting them in the AndroidManifest.xml file, you must also request permissions at runtime.
The following permissions must be requested dynamically:
Manifest.permission.CAMERA
Manifest.permission.WRITE_EXTERNAL_STORAGE
Manifest.permission.RECORD_AUDIO
Manifest.permission.READ_EXTERNAL_STORAGE
Manifest.permission.READ_PHONE_STATE
If your application targets Android 12 (API level 31) or later, you must also dynamically request the following permission:
Manifest.permission.BLUETOOTH_CONNECT
The following table describes some of the required permissions.
Permission name | Permission description | Reason for request | Required | Is it a dynamic permission? |
CAMERA | Camera permission. | Access the device camera to capture a video stream. | Yes | Android 6.0 or later |
RECORD_AUDIO | Microphone permission. | Access the device microphone to capture an audio stream. | Yes | Android 6.0 or later |
INTERNET | Network permission. | Transmit audio and video data over the network (using protocols such as WebRTC). | Yes | No |
ACCESS_NETWORK_STATE | Allows the application to get the network state. | Monitor the network connectivity to optimize audio and video transmission quality, for example, for reconnection after a disconnection. | As needed | No |
ACCESS_WIFI_STATE | Allows the application to get the Wi-Fi state. | Get the current Wi-Fi connection information to optimize network performance. | As needed | No |
MODIFY_AUDIO_SETTINGS | Allows the application to modify audio configurations. | Adjust the system volume, switch audio output devices, and perform other related operations. | As needed | No |
BLUETOOTH | Bluetooth permission (basic feature) | Connect to Bluetooth devices, such as Bluetooth headsets. | As needed | No |
BLUETOOTH_CONNECT | Bluetooth connection permission | Communicate with paired Bluetooth devices, such as transmitting an audio stream. | As needed | Android 12 or later |
READ_PHONE_STATE | Allows the application to access information related to the device's phone state. | Start or stop audio based on the phone state. | As needed | Android 6.0 or later |
READ_EXTERNAL_STORAGE | Allows the application to read files from external storage. | Play local music and perform other related operations. | As needed | Android 6.0 or later |
WRITE_EXTERNAL_STORAGE | Allows the application to write to external storage. | Save audio and video files, logs, and other related files. | As needed | Android 6.0 or later |
Step 4: Prevent code obfuscation (optional)
In the app/proguard-rules.pro file, add rules for the SDK to prevent its interfaces from being obfuscated. This ensures that the interfaces can be called properly.
-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.** {
*;
}iOS
Preparations
Before you integrate the ARTC SDK, make sure that your development environment meets the following requirements:
Xcode 14.0 or later. Use the latest official version.
CocoaPods 1.9.3 or later.
A physical device that runs iOS 9.0 or later.
Step 1: Import the SDK
Automatic integration through CocoaPods (recommended)
Open Terminal and install CocoaPods on your development device. If you have already installed it, skip this step.
sudo gem install cocoapodsOpen Terminal, go to the root directory of your project, and run the following command to create a Podfile.
pod initOpen and edit the generated Podfile to add the dependency on the ARTC SDK. The latest version is 7.8.1.
target 'MyApp' do
use_frameworks!
# Replace ${latest version} with the specific version number.
pod 'AliVCSDK_ARTC', '~> ${latest version}'
endIn the terminal window, run the following command to update the CocoaPods dependency library in your project.
pod installAfter the command runs successfully, a project file with the .xcworkspace extension is generated in the project folder. Double-click this file to open the project in Xcode. The workspace automatically loads the CocoaPods dependency.

Manual integration by downloading the SDK
In Download the SDK, obtain the latest ARTC SDK file and decompress it.
Copy the framework file from the decompressed SDK package to your project directory.
Open the project in Xcode, choose
File -> Add Files to "xxx"from the menu, and add the SDK library file to the project.
Select the target and set the imported framework to
"Embed & Sign".

Step 2: Set permissions
You must add permissions for the camera and microphone.
In the Info.plist file, add the Privacy - Camera Usage Description and Privacy - Microphone Usage Description permissions.

Enable the audio background capture mode (optional).
As shown in the following figure, select Audio, AirPlay, and Picture in Picture.

Windows
Preparations
Before you integrate the ARTC SDK, make sure that your development environment meets the following requirements:
Visual Studio 2015 or later.
Windows 7 or later.
Integrate the SDK
In Download the SDK, obtain the latest ARTC SDK file.
Decompress the ARTC SDK file and copy the files from the directory to your project.
Configure project properties:
In the Solution Explorer window, right-click the project and select Properties.
Add an include directory: Go to Configuration Properties > C/C++ > General. In Additional Include Directories, add the path to the header file.
Add a library directory: In the Properties window, go to Configuration Properties > Linker > General. In Additional Library Directories, add the path to the library file (.lib), for example,
.../x64/Release.Specify the link library file: In the Properties window, go to Configuration Properties > Linker > Input. In Additional Dependencies, add the name of the library file to be linked, which is "AliRTCSdk.lib".
Release history
Version | Platform | Update date | Revisions |
v7.8.1 | iOS | 2025-11-12 |
|
Android | |||
Linux | |||
v7.8.0 | iOS | 2025-11-05 |
|
Android | |||
Linux | |||
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 | For AI+RTC scenarios, provides an AudioProfile for chat rooms to ensure complete playback of welcome messages. |
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 |