Este tópico fornece links de download para o kit de desenvolvimento de software (SDK) do Alibaba Real-Time Communication (ARTC), explica como integrar o SDK e inclui outras informações relacionadas.
SDK ARTC: 7.10.0
AICallKit: 2.9.1
Download do SDK
Integre o SDK
Android
Preparativos
Antes de integrar o SDK ARTC, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
Android Studio 2020.3.1 ou posterior.
Dispositivo de teste executando Android 5.0 (API Level 21) ou posterior, conectado à internet.
Etapa 1: Importe o SDK
Integração automática via Maven (recomendado)
Abra o arquivo
settings.gradleno diretório raiz do projeto. Adicione o repositório Maven do SDK ARTC ao campodependencyResolutionManagement/repositories.
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' }
}
}
Observação: Se você usar uma versão do Android Gradle Plugin anterior à 7.1.0, talvez não encontre o campo correspondente no arquivo settings.gradle. Para mais informações, consulte Android Gradle Plugin 7.1. Nesse caso, utilize a solução alternativa abaixo.
Abra o arquivo
app/build.gradlee adicione a dependência do SDK ARTC emdependencies. Consulte o número da versão na seção Download do SDK. Substitua${latest_version}pelo número específico da versão. A versão mais recente é a 7.10.0.
dependencies {
// Import the ApsaraVideo Real-time Communication SDK dependency.
// Replace ${latest_version} with the specific version number.
implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
// For versions 7.4.0 and earlier, add the keep dependency.
// implementation 'com.aliyun.aio.keep:keep:1.0.1'
}
Se você usar o Android Gradle Plugin 8.1 ou posterior, o Android Studio recomenda migrar as informações de dependência para o catálogo de versões. Para mais detalhes, consulte Migrar sua compilação para catálogos de versões.
Integração manual por download do SDK
Na seção Download do SDK, baixe o arquivo AAR do SDK ARTC correspondente à versão desejada. A versão mais recente é a 7.10.0. Exemplo de nome de arquivo:
AliVCSDK_ARTC-x.y.z.aar.Copie o arquivo AAR baixado para o diretório do projeto, como
app/libs. Crie essa pasta caso ela não exista.Abra o arquivo
settings.gradleno diretório raiz do projeto. Adicione a pasta que contém o arquivo AAR emdependencyResolutionManagement/repositories.
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// Add the relative path of the ARTC SDK.
flatDir {
dir 'app/libs'
}
}
}
Observação: Se você usar uma versão do Android Gradle Plugin anterior à 7.1.0, talvez não encontre o campo correspondente no arquivo settings.gradle. Para mais informações, consulte Android Gradle Plugin 7.1. Nesse caso, utilize a solução alternativa abaixo.
Abra o arquivo build.gradle no diretório raiz do projeto. Adicione o seguinte campo em allprojects/repositories.
allprojects {
repositories {
...
// Add the relative path of the ARTC SDK.
flatDir {
dir 'app/libs'
}
}
}
Abra o arquivo
app/build.gradlee adicione a dependência do arquivo AAR emdependencies.
// Replace x.y.z with the corresponding version number.
implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')
-
Após concluir a compilação, a dependência correspondente aparecerá em External Libraries.

Etapa 2: Configure as arquiteturas de CPU compatíveis
Abra o arquivo app/build.gradle. No bloco defaultConfig, especifique as arquiteturas de CPU compatíveis com o projeto. As arquiteturas disponíveis são armeabi-v7a, arm64-v8a, x86, and x86_64. Configure-as conforme necessário.
android {
defaultConfig {
// ...other default configurations
// Support armeabi-v7a and arm64-v8a architectures.
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
}
Etapa 3: Defina as permissões
Configure as permissões necessárias para o aplicativo.
Acesse o diretório app/src/main, abra o arquivo AndroidManifest.xml e adicione as permissões exigidas.
<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" />
Solicitação dinâmica de permissões de Bluetooth
O arquivo AndroidManifest.xml no SDK ARTC inclui declarações para algumas permissões, mas não contém a lógica para solicitá-las em tempo de execução. A permissão BLUETOOTH_CONNECT foi introduzida no Android 12 como permissão de tempo de execução. Após importar o SDK ARTC, as seguintes permissões são adicionadas automaticamente ao APK. Recomendamos solicitar as permissões de acordo com o cenário de negócios.
<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" />
Se o cenário de negócios não exigir alguma das permissões acima, declare a remoção dela no arquivo AndroidManifest.xml do projeto principal.
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove"/>
As informações a seguir são específicas para permissões de Bluetooth:
Cenário 1: A funcionalidade Bluetooth é necessária
Aplicativos com targetSdk < 31
Se o targetSdk do projeto for inferior a 31, a funcionalidade Bluetooth será controlada pela permissão legada BLUETOOTH. Faça as seguintes declarações no aplicativo principal.
<!-- Declare the Bluetooth permission. -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Override and remove the permission for API 31+. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />
O SDK inclui uma declaração para a permissão
BLUETOOTH_CONNECT. Essa permissão foi introduzida no Android 12 (API 31) e deve ser solicitada dinamicamente em tempo de execução usandorequestPermissions.-
Em alguns dispositivos, se um aplicativo incluir uma declaração para
BLUETOOTH_CONNECT, ele deverá solicitar essa permissão dinamicamente. Caso contrário, pode ocorrer umaSecurityException. Se esse problema surgir, use um dos métodos abaixo:Método 1: Use tools:node="remove" para remover a declaração da permissão.
Método 2: Solicite a permissão dinamicamente.
Se o targetSdk do aplicativo for 31 ou superior
Quando o targetSdk do projeto for 31 ou superior, considere tanto as permissões legadas quanto as novas permissões de Bluetooth. Declare as permissões no arquivo AndroidManifest.xml do aplicativo principal.
<!-- Declare the Bluetooth permission and set android:maxSdkVersion to 30 for compatibility with earlier device versions. -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!-- Declare the Bluetooth permission for API 31+. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- Other Bluetooth permissions. -->
Como BLUETOOTH_CONNECT é uma permissão dinâmica, solicite-a em tempo de execução.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
String[] permissions = {
android.Manifest.permission.BLUETOOTH_CONNECT
};
ActivityCompat.requestPermissions(activity, permissions, REQUEST_BLUETOOTH);
}
Cenário 2: A funcionalidade Bluetooth não é necessária
Para evitar falhas ou prompts relacionados às permissões de Bluetooth, recomendamos remover as permissões desnecessárias.
No arquivo AndroidManifest.xml do projeto principal, use tools:node="remove" para substituir e remover as permissões.
<!-- Override and remove the Bluetooth permission declarations 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" />
Solicitação dinâmica de outras permissões
A partir do Android 6.0 (API 23), as permissões perigosas devem ser solicitadas em tempo de execução. Além de declará-las estaticamente no arquivo AndroidManifest.xml, solicite-as também no código durante a execução.
As seguintes permissões devem ser solicitadas dinamicamente:
Manifest.permission.CAMERA
Manifest.permission.WRITE_EXTERNAL_STORAGE
Manifest.permission.RECORD_AUDIO
Manifest.permission.READ_EXTERNAL_STORAGE
Manifest.permission.READ_PHONE_STATE
Se a versão do Android for 12 (API level 31) ou posterior, solicite dinamicamente também a seguinte permissão:
Manifest.permission.BLUETOOTH_CONNECT
Veja abaixo algumas das permissões que podem estar envolvidas:
|
Nome da permissão |
Descrição da permissão |
Motivo da solicitação |
Necessidade |
É uma permissão dinâmica? |
|
|
Permissão de câmera. |
Acessar a câmera do dispositivo para capturar fluxo de vídeo. |
Sim |
Android 6.0 ou posterior |
|
|
Permissão de microfone. |
Acessar o microfone do dispositivo para capturar fluxo de áudio. |
Sim |
Android 6.0 ou posterior |
|
|
Permissão de rede. |
Transmitir dados de áudio e vídeo pela rede (como no uso de WebRTC). |
Sim |
Não |
|
|
Permite que o aplicativo obtenha o estado da rede. |
Monitorar o estado da conexão de rede para otimizar a qualidade da transmissão de áudio e vídeo, como na reconexão após interrupção. |
Conforme necessário |
Não |
|
|
Permite que o aplicativo obtenha o estado do Wi-Fi. |
Obter informações atuais da conexão Wi-Fi para otimizar o desempenho da rede. |
Conforme necessário |
Não |
|
|
Permite que o aplicativo modifique configurações de áudio. |
Ajustar o volume do sistema, alternar dispositivos de saída de áudio e realizar outras operações relacionadas. |
Conforme necessário |
Não |
|
|
Permissão de Bluetooth (recurso básico) |
Conectar-se a dispositivos Bluetooth, como fones de ouvido. |
Conforme necessário |
Não |
|
|
Permissão de conexão Bluetooth |
Comunicar-se com dispositivos Bluetooth pareados, como para streaming de áudio. |
Conforme necessário |
android >= 12 |
|
|
Permite que o aplicativo acesse informações relacionadas ao estado telefônico do dispositivo |
Iniciar ou parar o áudio com base no status do telefone. |
Conforme necessário |
android >= 6.0 |
|
|
Permite que o aplicativo leia arquivos do armazenamento externo. |
Reproduzir música local e realizar outras operações relacionadas. |
Conforme necessário |
android >= 6.0 |
|
|
Permite que o aplicativo grave no armazenamento externo. |
Salvar arquivos de áudio e vídeo, logs e outros dados. |
Conforme necessário |
android >= 6.0 |
Etapa 4: Evite a ofuscação de código (opcional)
No arquivo app/proguard-rules.pro, configure regras para o SDK a fim de evitar que as interfaces fornecidas por ele sejam ofuscadas. Isso garante que as interfaces possam ser chamadas normalmente.
-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.** {
*;
}
Perguntas frequentes
O SDK ARTC introduz permissões extras?
Após importar o SDK ARTC, as seguintes permissões do Android são declaradas automaticamente. A lista específica pode variar dependendo da versão do SDK. Para obter a lista definitiva, consulte o conteúdo do arquivo .aar integrado no arquivo AndroidManifest.xml.
<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" />
Essas permissões servem principalmente para dar suporte a recursos como detecção de estado da rede, recuperação de informações Wi-Fi, conexão Bluetooth e roteamento de áudio.
Como lidar com problemas de compatibilidade ou conflito entre permissões do SDK e código existente?
Embora o SDK ARTC tenha sido adaptado para diferentes versões do Android em relação às permissões — como a exigência de permissão em tempo de execução para BLUETOOTH_CONNECT no Android 12 (API 31) e posteriores, o que geralmente não causa erros de compilação —, problemas ainda podem surgir nos seguintes cenários:
Comportamento anômalo em tempo de execução, como falha na mesclagem de manifesto.
Riscos na revisão do Google Play: Se um aplicativo declarar uma permissão para um recurso que não utiliza, como Bluetooth, isso pode violar o princípio do menor privilégio e causar a rejeição do aplicativo na loja.
Recomendamos tomar as seguintes medidas para lidar com problemas de compatibilidade:
Avalie a necessidade das permissões Primeiramente, avalie se o aplicativo precisa de todas as permissões declaradas pelo SDK. Se certos recursos, como Bluetooth, não forem usados, considere remover as declarações de permissão correspondentes. Por exemplo, se o aplicativo rodar apenas em dispositivos com Android API 30 ou inferior (versão targetSdk abaixo de 30), remova a declaração da permissão
BLUETOOTH_CONNECT.-
Use diretivas de mesclagem de manifesto para resolver conflitos Se vários módulos declararem a mesma permissão com atributos diferentes, como um
maxSdkVersioninconsistente, utilize o namespacetoolsno arquivoAndroidManifest.xmlprincipal para resolver o conflito.<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <!-- Example: Remove a permission that is declared in the SDK but not needed by the application. --> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" /> <!-- Example: Override permission attributes. --> <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" tools:replace="android:maxSdkVersion" /> </manifest>
iOS
Preparativos
Antes de integrar o SDK ARTC, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
Xcode 14.0 ou posterior. Recomendamos o uso da versão oficial mais recente.
CocoaPods 1.9.3 ou posterior.
Dispositivo físico executando iOS 9.0 ou posterior.
Etapa 1: Importe o SDK
Integração automática via CocoaPods (recomendado)
Abra o Terminal e instale a ferramenta CocoaPods no dispositivo de desenvolvimento. Pule esta etapa caso o CocoaPods já esteja instalado.
sudo gem install cocoapods
Abra o Terminal, acesse o diretório raiz do projeto e execute o comando abaixo para criar um Podfile.
pod init
Abra e edite o Podfile gerado para adicionar a dependência do SDK RTC. A versão mais recente é a 7.10.0.
target 'MyApp' do
use_frameworks!
# Replace ${latest version} with the specific version number.
pod 'AliVCSDK_ARTC', '~> ${latest version}'
end
Na janela do Terminal, execute o comando a seguir para atualizar a biblioteca de dependências do CocoaPods do projeto.
pod install
-
Após a execução bem-sucedida do comando, um arquivo de projeto com a extensão
.xcworkspaceserá gerado na pasta do projeto. Clique duas vezes nesse arquivo para abrir o projeto no Xcode. O workspace carrega automaticamente a dependência do CocoaPods.
Integração manual por download do SDK
Na seção Download do SDK, obtenha o arquivo mais recente do SDK ARTC e descompacte-o.
Copie os arquivos de framework do pacote SDK descompactado para o diretório do projeto.
-
Abra o projeto no Xcode, escolha
File -> Add Files to "xxx"no menu e adicione os arquivos de biblioteca do SDK ao projeto.
Selecione o alvo e defina o arquivo de framework importado como
"Embed & Sign".

Etapa 2: Defina as permissões
Adicione as permissões de câmera e microfone.
No arquivo Info.plist, adicione as permissões de câmera e microfone: Privacy - Camera Usage Description e Privacy - Microphone Usage Description.

Ative o modo de captura de áudio em segundo plano (opcional).
Conforme mostrado na figura, selecione Audio, AirPlay, and Picture in Picture.

Windows
Preparativos
Antes de integrar o SDK ARTC, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
Visual Studio 2015 ou posterior.
Windows 7 ou posterior.
Integre o SDK
Na seção Download do SDK, obtenha o arquivo mais recente do SDK ARTC.
Descompacte o arquivo do SDK ARTC e copie os arquivos do diretório para o projeto.
-
Configure as propriedades do projeto:
-
Na janela Solution Explorer, clique com o botão direito no projeto e selecione Properties.
-
Adicione diretórios de inclusão: Acesse Configuration Properties → C/C++ → General. Em Additional Include Directories, adicione o caminho do arquivo de cabeçalho.
-
Adicione diretórios de biblioteca: Na janela Properties, acesse Configuration Properties → Linker → General. Em Additional Library Directories, adicione o caminho dos arquivos de biblioteca (.lib), como
.../x64/Release. Especifique os arquivos de biblioteca de link: Na janela Properties, acesse Configuration Properties → Linker → Input. Em Additional Dependencies, adicione o nome do arquivo de biblioteca a ser vinculado, que é "AliRTCSdk.lib".
-
Mac
Preparativos
Antes de integrar o SDK ARTC, verifique se o ambiente de desenvolvimento atende aos seguintes requisitos:
Ferramenta de desenvolvimento: Xcode 14.0 ou posterior. Recomendamos o uso da versão oficial mais recente.
Dispositivo de teste: Dispositivo Mac executando macOS 10.13 ou posterior.
Ambiente de rede: É necessária uma conexão de rede estável.
Preparação do aplicativo: Obtenha o AppID e a AppKey para o aplicativo ApsaraVideo Real-time Communication. Para mais informações, consulte Criar um aplicativo.
Integração manual por download do SDK
Na seção Download do SDK, obtenha o arquivo mais recente do SDK ARTC e descompacte-o.
Copie os arquivos do pacote SDK para o caminho do projeto. Se você não usar AAC para codificação de áudio, omita o arquivo PluginAAC.framework.
Abra o Xcode e adicione as bibliotecas dinâmicas correspondentes. Certifique-se de que o atributo Embed das bibliotecas dinâmicas adicionadas esteja definido como Embed & Sign.
Histórico de lançamentos
Número da versão | Plataforma | Data de atualização | Modificações |
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 | |||
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 |
|
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 | Para cenários AI+RTC, fornecido um AudioProfile para salas de bate-papo para garantir a reprodução completa das mensagens de boas-vindas. |
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 |