Integre agentes de áudio e vídeo da IA Conversacional em Tempo Real ao seu aplicativo Android.
Visão geral do código-fonte
Baixe o código-fonte
Baixe o código-fonte do projeto open source no GitHub.
Estrutura do código-fonte
├── Android // Root directory of the Android project
│ ├── AUIBaseKits // AUI base components
│ ├── AUIAICall // UI components
│ ├── README.md
│ ├── app // Demo entry point
│ ├── build.gradle
│ └── settings.gradle
Requisitos de ambiente
Versão 4.1.3 do plugin do Android Studio
Gradle 7.0.2
JDK 11 incluído no Android Studio
Pré-requisitos
É necessário ter desenvolvido as APIs necessárias em seu servidor ou implantado o código-fonte do servidor fornecido. Para mais informações, consulte Implantação do projeto.
Execute a demonstração
Após baixar o código-fonte, abra a pasta Android no Android Studio.
Abra o arquivo de projeto build.gradle e atualize o ID do pacote.
-
Abra o arquivo de configuração de cena do agente
/AUIAICall/src/main/assets/AgentConfig/agent_scenes.json. Nesse arquivo, insira o ID do agente e a região conforme o tipo de agente. Por exemplo, para configurar um agente de voz, localize o nó Scenes ondeagent_typeéVoiceAgente defina os valores dos camposagent_ideregion.// The following example shows how to configure a voice call agent { "agent_type": "VoiceAgent", "scenes": [ { "agent_id": "<Voice call agent ID>", "region": "<Region of the voice call agent ID>", "title": "Voice Call", "tags": [], "limit_seconds": 1800, "description": "", "asr_model_id": "xxx", "tts_model_id": "xxx", "voice_styles": [] } ] }NotaCaso queira testar apenas um tipo de agente, basta definir os campos
agent_ideregionpara esse tipo específico. No camporegion, utilize um dos valores de Region ID listados na tabela abaixo.Nome da região
Region ID
China (Hangzhou)
cn-hangzhou
China (Shanghai)
cn-shanghai
China (Beijing)
cn-beijing
China (Shenzhen)
cn-shenzhen
Singapura
ap-southeast-1
-
Após concluir a configuração do agente, inicie-o de uma das duas formas a seguir:
-
AppServer já implantado: Se você já implantou o código-fonte do AppServer fornecido pela Alibaba Cloud em seu servidor, abra o arquivo
AppServiceConst.javae atualize o nome de domínio do servidor.// AppServiceConst.java String HOST = "your application server domain name"; -
AppServer não implantado: Se você ainda não implantou o código-fonte do AppServer, mas deseja executar rapidamente a demonstração para testar o agente, abra o arquivo
AUIAICallAuthTokenHelper.java. Defina o parâmetroEnableDevelopTokencomotruee copie o App ID e a App Key do ARTC no console. Essa configuração gera um token de autenticação no lado do cliente para fins de teste.ImportanteEste método exige a inserção local de informações sensíveis, como a AppKey. Ele é adequado apenas para testes e desenvolvimento. Não deve ser usado em produção, a fim de evitar riscos de segurança decorrentes do vazamento da AppKey.
// AUIAICallAuthTokenHelper.java public class AUIAICallAuthTokenHelper { // Set to true to enable Develop mode private static final boolean EnableDevelopToken = true; // Copy the RTC AppId for audio and video calls from the console private static final String AICallRTCDevelopAppId = "RTC AppId used by the agent"; // Copy the RTC AppKey for audio and video calls from the console private static final String AICallRTCDevelopAppKey = "RTC AppKey used by the agent"; }Siga estas etapas para obter o AppId e a AppKey do seu aplicativo ARTC:
-
Acesse o console do IMS e clique em seu agente de IA para abrir a página de detalhes.
Na aba Basic Information, localize a seção Workflow Configuration e anote o RTC App ID listado em ARTC application.
-
Clique no RTC App ID para abrir o console do ApsaraVideo Live e obter o App ID e a AppKey.
Na página Application Management, clique em seu aplicativo, acesse a aba Basic Information e copie o App ID e a AppKey.
-
-
Desenvolva rapidamente seu próprio recurso de chamada com IA
Integre rapidamente o AUIAICall ao seu aplicativo para adicionar chamadas de áudio e vídeo baseadas em agentes.
Integre o código-fonte
Importe o AUIAICall: Após baixar o código-fonte do repositório, abra o Android Studio. Em seguida, escolha File > New > Import Module e importe as pastas AUIAICall e AUIBaseKits.
-
No arquivo build.gradle do módulo importado, atualize as dependências de bibliotecas de terceiros.
dependencies { implementation 'androidx.appcompat:appcompat:x.x.x' // Replace x.x.x with your project's compatible version implementation 'com.google.android.material:material:x.x.x' // Replace x.x.x with your project's compatible version androidTestImplementation 'androidx.test.espresso:espresso-core:x.x.x' // Replace x.x.x with your project's compatible version implementation 'com.aliyun.aio:AliVCSDK_ARTC:x.x.x' // Replace x.x.x with your project's compatible version implementation 'com.aliyun.auikits.android:ARTCAICallKit:x.x.x' implementation 'com.alivc.live.component:PluginAEC:2.0.0' }NotaVersão mais recente do SDK do ARTC: 7.10.0
Versão mais recente do SDK do AICallKit: 2.11.0
Aguarde a conclusão da sincronização do Gradle. O código-fonte estará integrado.
Configuração do código-fonte
As etapas de pré-requisito foram concluídas.
-
Abra o arquivo
AppServiceConst.javae atualize o nome de domínio do servidor.// AppServiceConst.java String HOST = "your application server domain name";NotaSe você não implantou o AppServer, é possível gerar um token de autenticação no lado do cliente para testar e executar rapidamente a demonstração. Para mais informações, consulte AppServer não implantado.
Chame a API
Após concluir as etapas anteriores, chame a API do componente a partir de outro módulo ou da página inicial do seu aplicativo para iniciar uma chamada de IA. Modifique o código-fonte conforme necessário para o seu cenário de negócios.
/** Ensure microphone and camera permissions are granted before starting */
Context currentActivity = AUIAICallEntranceActivity.this;
Intent intent = new Intent(currentActivity, AUIAICallInCallActivity.class);
// Set the call type (voice, digital human, or visual understanding). This must match the agent ID type.
ARTCAICallEngine.ARTCAICallAgentType aiCallAgentType =
ARTCAICallEngine.ARTCAICallAgentType.VoiceAgent;
// Agent ID. Must not be empty.
String aiAgentId = "";
// Region where the agent is located. Must not be empty.
String aiAgentRegion = "";
// User ID for joining the RTC session. We recommend using your business login user ID.
String userId = "123";
// Call authentication token. See: https://www.alibabacloud.com/help/zh/ims/user-guide/generate-artc-authentication-token?spm=a2c4g.11186623.0.0.1ce65bc4BKdQy7
String token = "";
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_LOGIN_USER_ID, userId);
// Agent type
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_TYPE, aiCallAgentType);
// Agent ID
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_ID, aiAgentId);
// Agent region
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_AI_AGENT_REGION, aiAgentRegion);
// Set the call authentication token
intent.putExtra(AUIAIConstStrKey.BUNDLE_KEY_RTC_AUTH_TOKEN, token);
currentActivity.startActivity(intent);
Para mais informações sobre como gerar o token de autenticação de chamada, consulte Gerar um token de autenticação ARTC.