Baixe e integre o ARTC SDK no Android, iOS, Windows, Mac, Linux e HarmonyOS.
Baixe do SDK
Desenvolvedor: Alibaba Cloud Computing Co., Ltd.
|
Plataforma |
Versão do SDK |
Data de lançamento |
Tamanho do pacote |
|
Android |
v7.11.0 |
8 de abril de 2026 |
6,0 MB (arm64) |
|
iOS |
v7.11.0 |
8 de abril de 2026 |
6,5 MB (arm64) |
|
Linux |
v7.10.0 |
10 de janeiro de 2026 |
- |
|
Windows |
v7.6.0 |
2 de setembro de 2025 |
- |
|
HarmonyOS |
v7.9.1 |
12 de janeiro de 2026 |
7,96 MB |
|
Mac |
v7.8.0 |
1º de dezembro de 2025 |
- |
Para integração Web, consulte o guia Getting started with the ARTC Web SDK.
Integração do SDK
Integre o ARTC SDK em cada plataforma compatível. Mantenha a consistência das versões do SDK entre as plataformas.
Android
Pré-requisitos
Requisitos:
Android Studio 2020.3.1 ou superior.
Dispositivo de teste com Android 5.0 (nível 21 da API do SDK) ou superior e conexão de rede.
Etapa 1: Importar o SDK
Integração automática via Maven (recomendado)
-
Abra o arquivo
settings.gradlena raiz do projeto. Adicione o repositório Maven do ARTC SDK emdependencyResolutionManagement/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' } } }NotaSe a versão do seu Android Gradle Plugin (AGP) for inferior a 7.1.0, o arquivo
settings.gradlepode não conter o blocodependencyResolutionManagement, conforme documentado nas Notas de lançamento do Android Gradle Plugin 7.1. Nesse caso, adote a seguinte abordagem:Versão do AGP inferior a 7.1.0
Abra o arquivo
build.gradleno diretório raiz do projeto. Adicione o repositório Maven emallprojects/repositories:allprojects { repositories { ... // Add the Maven repository for the ARTC SDK. maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } } } -
Abra o arquivo
app/build.gradle. Adicione a dependência do ARTC SDK emdependencies. Substitua\${latest_version}pelo número real da versão. A versão mais recente é a 7.11.0.dependencies { // Add the ARTC SDK dependency. // Replace ${latest_version} with the actual version number. implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}' // For version 7.4.0 and earlier, also add the keep dependency. // implementation 'com.aliyun.aio.keep:keep:1.0.1' }Para AGP 8.1 ou superior, considere migrar para catálogos de versões. Consulte Migrar dependências para catálogos de versões.
Integração manual por baixe do SDK
Baixe o arquivo AAR do ARTC SDK na seção de baixe do SDK. A versão mais recente é a 7.11.0. Formato do nome do arquivo:
AliVCSDK_ARTC-x.y.z.aar.Copie o arquivo AAR para o diretório do projeto (por exemplo,
app/libs). Crie o diretório se necessário.-
Abra o arquivo
settings.gradlena raiz do projeto. Adicione o diretório do arquivo AAR emdependencyResolutionManagement/repositories:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() // Add the relative path to the ARTC SDK AAR file. flatDir { dir 'app/libs' } } }Para versões do AGP abaixo de 7.1.0, adicione o seguinte trecho em
allprojects/repositoriesno arquivobuild.gradle:allprojects { repositories { ... // Add the relative path to the ARTC SDK AAR file. flatDir { dir 'app/libs' } } } -
Abra o arquivo
app/build.gradle. Adicione a dependência do AAR emdependencies:// Replace x.y.z with the actual version number. implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar') -
Após a compilação, a dependência aparecerá em External Libraries.
External Libraries > < Android API 35, extension level 13 Platform > /Users/wy/Libra... > < jbr-21 > /Applications/Android Studio.app/Contents/jbr/Conte... > Gradle: :AliVCSDK_ARTC:7.2.0@aar > Gradle: androidx.activity:activity:1.8.0@aar
Etapa 2: Configure arquiteturas de CPU
No arquivo app/build.gradle, especifique as arquiteturas de CPU compatíveis no bloco defaultConfig. Arquiteturas disponíveis: armeabi-v7a, arm64-v8a, x86 e x86_64.
android {
defaultConfig {
// ...other default configurations
// Support armeabi-v7a and arm64-v8a architectures.
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
}
Etapa 3: Configure permissões
No arquivo AndroidManifest.xml (em app/src/main), adicione as permissões necessárias:
<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" />
Solicitar permissões de Bluetooth dinamicamente
O ARTC SDK agrupa essas permissões em seu próprio arquivo AndroidManifest.xml. A partir do Android 12, a permissão BLUETOOTH_CONNECT exige solicitação em tempo de execução:
<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" />
Caso seu aplicativo não necessite de Bluetooth, remova a declaração do arquivo AndroidManifest.xml:
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove"/>
Cenário 1: Funcionalidade Bluetooth necessária
targetSdk do aplicativo inferior a 31
Quando o targetSdk é menor que 31, a permissão legada BLUETOOTH controla o Bluetooth. Declare o seguinte:
<!-- Declare Bluetooth permission. -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Override removal of high-version API 31+ permission. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />
O SDK declara a permissão BLUETOOTH_CONNECT (Android 12, API 31), que requer solicitação em tempo de execução via requestPermissions. Em alguns dispositivos, declarar BLUETOOTH_CONNECT sem a solicitação dinâmica causa uma SecurityException. Soluções possíveis:
Remova a declaração da permissão usando
tools:node="remove".Solicite a permissão dinamicamente em tempo de execução.
targetSdk do aplicativo 31 ou superior
Para targetSdk 31 ou superior, declare as permissões de Bluetooth legadas e modernas no arquivo AndroidManifest.xml:
<!-- Declare Bluetooth permission with android:maxSdkVersion set to 30 for backward compatibility. -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!-- Declare high-version API 31+ Bluetooth permission. -->
<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: Funcionalidade Bluetooth não necessária
Remova declarações desnecessárias de Bluetooth para evitar falhas ou prompts de permissão indesejados.
No arquivo AndroidManifest.xml, use tools:node="remove" para remover as permissões:
<!-- Override and remove built-in 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" />
Outras permissões dinâmicas
A partir do Android 6.0 (API 23), estas permissões também exigem solicitações em tempo de execução, além das declarações no arquivo AndroidManifest.xml:
Manifest.permission.CAMERAManifest.permission.WRITE_EXTERNAL_STORAGEManifest.permission.RECORD_AUDIOManifest.permission.READ_EXTERNAL_STORAGEManifest.permission.READ_PHONE_STATE
Para Android 12 (API 31) e versões posteriores, solicite também esta permissão em tempo de execução:
Manifest.permission.BLUETOOTH_CONNECT
|
Permissão |
Descrição |
Motivo |
Obrigatória |
Dinâmica |
|
CAMERA |
Permissão de acesso à câmera |
Capturar fluxo de vídeo da câmera do dispositivo |
Sim |
Android 6.0+ |
|
RECORD_AUDIO |
Permissão de acesso ao microfone |
Capturar fluxo de áudio do microfone do dispositivo |
Sim |
Android 6.0+ |
|
INTERNET |
Permissão de acesso à rede |
Transmitir dados de áudio/vídeo pela rede (por exemplo, protocolos WebRTC) |
Sim |
Não |
|
ACCESS_NETWORK_STATE |
Acesso ao estado da rede |
Monitorar a conectividade para otimizar a qualidade de áudio/vídeo, como reconexão após perda de rede |
Opcional |
Não |
|
ACCESS_WIFI_STATE |
Acesso ao estado do Wi-Fi |
Obter informações da conexão Wi-Fi atual para otimizar o desempenho da rede |
Opcional |
Não |
|
BLUETOOTH |
Permissão básica de Bluetooth |
Conectar-se a dispositivos Bluetooth (por exemplo, fones de ouvido) |
Opcional |
Não |
|
BLUETOOTH_CONNECT |
Permissão de conexão Bluetooth |
Comunicar-se com dispositivos Bluetooth pareados (por exemplo, streaming de áudio) |
Opcional |
Android 12+ |
|
READ_PHONE_STATE |
Acesso ao estado do telefone |
Iniciar ou parar o áudio com base no estado do telefone (por exemplo, chamada recebida) |
Opcional |
Android 6.0+ |
|
READ_EXTERNAL_STORAGE |
Acesso de leitura ao armazenamento externo |
Reproduzir músicas locais e outros arquivos |
Opcional |
Android 6.0+ |
|
WRITE_EXTERNAL_STORAGE |
Acesso de gravação ao armazenamento externo |
Salve arquivos de áudio/vídeo, logs e outros dados |
Opcional |
Android 6.0+ |
Etapa 4: Evitar ofuscação de código (opcional)
Adicione as regras abaixo ao arquivo app/proguard-rules.pro para impedir a ofuscação do código do SDK:
-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
Pré-requisitos
Requisitos:
Xcode 14.0 ou superior (recomenda-se a versão estável mais recente).
CocoaPods 1.9.3 ou superior.
Dispositivo físico executando iOS 9.0 ou superior.
Etapa 1: Importar o SDK
Integração automática via CocoaPods (recomendado)
-
Instale o CocoaPods caso ainda não esteja instalado:
sudo gem install cocoapods -
Acesse a raiz do projeto e crie um Podfile:
pod init -
Abra o arquivo
Podfilee adicione a dependência do ARTC SDK. A versão mais recente é a 7.11.0.target 'MyApp' do use_frameworks! # Replace ${latest version} with the actual version number. pod 'AliVCSDK_ARTC', '~> ${latest version}' end -
Instale as dependências:
pod install Um arquivo
.xcworkspaceserá gerado. Abra-o para iniciar o projeto no Xcode.
Após abrir o projeto, expanda a pasta Pods no navegador de projetos do Xcode à esquerda. Confirme se ela contém a subpasta AliVCSDK_ARTC, o que indica que a dependência do SDK foi integrada com sucesso.
Integração manual por baixe do SDK
Baixe e extraia a versão mais recente do ARTC SDK na seção de baixe do SDK.
Copie o arquivo de framework do SDK extraído para o diretório do projeto.
Abra o projeto no Xcode. Selecione File > Add Files to "xxx" para adicionar o arquivo de biblioteca do SDK ao projeto.
Selecione o alvo e defina o atributo do framework importado. Na seção Frameworks, Libraries, and Embedded Content, confirme se a coluna Embed para
alivcffmpeg.frameworkeAliVCSDK_ARTC.frameworkestá definida como Do Not Embed.
Etapa 2: Configure permissões
Adicione permissões de câmera e microfone ao arquivo Info.plist: Privacy - Camera Usage Description e Privacy - Microphone Usage Description.
(Opcional) Ative o áudio em segundo plano. Nas capacidades do projeto, selecione Audio, AirPlay, and Picture in Picture.
Windows
Pré-requisitos
Requisitos:
Visual Studio 2015 ou superior.
Windows 7 ou superior.
Etapa 1: Integrar o SDK
Baixe a versão mais recente do ARTC SDK na seção de baixe do SDK.
Extraia o SDK e copie todos os arquivos para o diretório do projeto.
-
Configure as propriedades do projeto:
No Solution Explorer, clique em com o botão direito no projeto e selecione Properties.
Adicione diretórios de inclusão: selecione Configuration Properties > C/C++ > General e adicione o caminho dos arquivos de cabeçalho em Additional Include Directories.
Adicione diretórios de biblioteca: selecione Linker > General e adicione o caminho do arquivo de biblioteca (
.lib), por exemplo,.../x64/Release, em Additional Library Directories.Especifique os arquivos de biblioteca vinculados: selecione Linker > Input e adicione
AliRTCSdk.libem Additional Dependencies.
Solução de problemas
Problemas comuns e respectivas soluções:
|
Problema |
Causa |
Solução |
|
|
O caminho do arquivo |
Verifique se o caminho do diretório de biblioteca em Linker > General > Additional Library Directories aponta para a pasta correta contendo o arquivo |
|
Erro de incompatibilidade de arquitetura |
A plataforma de compilação do projeto não corresponde à arquitetura binária do SDK. |
Garanta que a plataforma de compilação do projeto esteja definida como x64. O ARTC SDK para Windows fornece apenas binários |
|
O aplicativo falha ou não inicia em tempo de execução |
As bibliotecas de runtime Visual C++ Redistributable necessárias não estão instaladas na máquina de destino. |
Instale o Visual C++ Redistributable mais recente na máquina de implantação. |
Mac
Pré-requisitos
Requisitos:
Xcode 14.0 ou superior (recomenda-se a versão estável mais recente).
macOS 10.13 ou superior.
Conexão de rede estável.
Etapa 1: Integrar o SDK
O ARTC SDK para Mac é distribuído como pacotes de bibliotecas dinâmicas .framework (por exemplo, AliRTCSdk.framework). Isso difere das bibliotecas compartilhadas .so usadas no Linux. Baixe o pacote do SDK para Mac e não utilize arquivos .so do pacote Linux.
Baixe e extraia a versão mais recente do ARTC SDK na seção SDK baixe.
Copie os pacotes
.frameworkdo pacote do SDK para o diretório do projeto. Ignore oPluginAAC.frameworkcaso não utilize codificação de áudio AAC.No Xcode, adicione as bibliotecas dinâmicas e defina Embed como Embed & Sign.
Solução de problemas
Problemas comuns e respectivas soluções:
|
Problema |
Causa |
Solução |
|
Framework não encontrado ou erro |
O framework foi adicionado ao projeto, mas sua propriedade Embed não está configurada corretamente. |
Na aba General do alvo, defina a propriedade Embed do framework ARTC SDK como Embed & Sign. Isso garante que o framework seja empacotado com o aplicativo e devidamente assinado. |
|
Erro de assinatura de código durante a compilação |
A identidade de assinatura de código do framework do SDK entra em conflito com a configuração de assinatura do aplicativo. |
Nas Build Settings do alvo do framework, defina Code Signing Identity como Sign to Run Locally ou corresponda à identidade de assinatura do aplicativo. Garanta que o ID da equipe seja consistente em todos os alvos. |
|
Incompatibilidade de arquitetura em Apple Silicon |
A arquitetura binária do SDK não corresponde ao tipo de processador do Mac. |
Para Macs com Intel, garanta que a arquitetura de compilação do projeto esteja definida como |
Perguntas frequentes
O ARTC SDK introduz permissões adicionais no Android?
O ARTC SDK declara automaticamente estas permissões do Android (a lista exata pode variar conforme a versão; verifique o arquivo AndroidManifest.xml dentro do arquivo .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" />
Essas permissões dão suporte ao monitoramento de rede, detecção de Wi-Fi, conectividade Bluetooth e roteamento de áudio.
Como lidar com compatibilidade de permissões ou conflitos com código existente?
O ARTC SDK gerencia a compatibilidade de permissões (por exemplo, BLUETOOTH_CONNECT em tempo de execução no Android 12+), mas problemas podem ocorrer:
Anomalias de comportamento em tempo de execução, como falhas na mesclagem de manifestos.
Risco de reprovação no Google Play: declarar permissões não utilizadas (por exemplo, Bluetooth) pode violar o princípio do menor privilégio e causar rejeição.
Para resolver esses problemas:
Avalie a necessidade. Remova permissões não utilizadas. Por exemplo, se o targetSdk for 30 ou inferior, remova a declaração
BLUETOOTH_CONNECT.-
Resolva conflitos de mesclagem de manifesto. Se módulos declararem atributos conflitantes (por exemplo, valores inconsistentes de
maxSdkVersion), use o namespacetoolsno arquivoAndroidManifest.xmlpara sobrescrever:<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 that the app does not need. --> <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>
Quais codecs de áudio o ARTC SDK suporta?
O ARTC SDK utiliza Opus como codec de áudio padrão, herdado do pipeline de processamento de áudio do WebRTC.
Os fatos a seguir nesta seção foram verificados na documentação source do ARTC SDK:
Versão mais recente do SDK: 7.11.0 (lançada em 8 de abril de 2026) para as plataformas Android e iOS.
Coordenada Maven:
com.aliyun.aio:AliVCSDK_ARTC. Nome do pod no CocoaPods:AliVCSDK_ARTC.Codec de áudio Opus: padronizado sob a RFC 6716 (IETF), utilizado como codec padrão e recomendado para o pipeline de áudio do ARTC SDK.
O Opus é um codec aberto e livre de royalties (RFC 6716) que oferece alta qualidade de áudio a 6–510 kbps com baixa latência. O ARTC SDK usa o Opus para:
Codificação e decodificação de áudio em tempo real para chamadas individuais e multiparty.
Taxa de bits adaptativa baseada nas condições da rede.
Supressão de ruído integrada e controle automático de ganho (AGC).
Histórico de lançamentos
|
Versão |
Plataforma |
Data de lançamento |
Alterações |
|
v7.11.0 |
iOS, Android |
8 de abril de 2026 |
Correção: Problemas de estabilidade do RTC resolvidos. |
|
v7.10.0 |
iOS, Android, Linux |
10 de janeiro de 2026 |
Correção: Problemas de estabilidade do RTC resolvidos. |
|
v7.9.1 |
iOS, Android, Linux |
4 de dezembro de 2025 |
Otimização: Contagem de threads reduzida para melhorar o desempenho do RTC SDK. Capacidade de pré-carregamento adicionada ao RTC SDK. Correção: Problemas de estabilidade do RTC resolvidos. |
|
v7.8.1 |
iOS, Android, Linux |
12 de novembro de 2025 |
Otimização: Experiência do usuário aprimorada. Correção: Problemas de estabilidade do RTC resolvidos. |
|
v7.8.0 |
iOS, Android, Linux, Mac |
5 de novembro de 2025 (iOS/Android/Linux), 1º de dezembro de 2025 (Mac) |
Otimização: Desempenho das threads do RTC melhorado. Correção: Problemas de estabilidade do RTC resolvidos. |
|
v7.7.0 |
iOS, Android, Linux |
31 de julho de 2025 |
Novidade: Suporte adicionado para gravação local de áudio/vídeo nos formatos MP4, AAC e WAV. Suporte à API de foco do Android para novas APIs da API 26, ativado por padrão. Otimização: Suporte a taxa de amostragem de 24 K adicionado para callback de monitoramento de dados de áudio. Correção: Problemas de estabilidade do RTC resolvidos. |
|
v7.6.0 |
iOS, Android, Linux, Windows, HarmonyOS |
2 de setembro de 2025 |
Novidade: Lista de permissões e lista de bloqueios para assinatura de áudio/vídeo adicionadas. Suporte a compartilhamento de tela no Android 14. Otimização: Suporte à configuração do uso do canal direito para conversão de reamostragem mono para estéreo. Amostragem preferencial de 16 K para cenários de IA. Correção: Problemas de estabilidade resolvidos. |