SDK React Native
SDK ElevenAgents: implante agentes de voz interativos e personalizados em minutos para apps React Native.
Consulte a visão geral do ElevenAgents para entender como o ElevenAgents funciona.
Instalação
Instale o pacote e as dependências dele no seu projeto React Native.
Um app de exemplo que usa este SDK com Expo está disponível aqui
Está migrando de uma versão anterior? Execute npx skills add elevenlabs/packages para instalar a
habilidade elevenlabs:sdk-migration para seu agente de programação com IA, que automatiza alterações nas importações,
o encapsulamento com ConversationProvider e atualizações da API.
Requisitos
- React Native com dependências do LiveKit
- Permissões de microfone configuradas para sua plataforma
- Compatibilidade com Expo (apenas builds de desenvolvimento)
- React Native 0.79.0+ ou Metro configurado para resolver
package.json"exports"em versões mais antigas
Este SDK foi projetado e desenvolvido para uso com o framework Expo. Devido à dependência da implementação WebRTC do LiveKit, ele exige builds de desenvolvimento e não pode ser usado com o Expo Go.
@elevenlabs/react-native resolve seu ponto de entrada do React Native pelo campo
"exports" do package.json. O Metro só resolve
"exports" por padrão a partir do Metro 0.82.0, lançado no React Native
0.79.0 (lançado em 8 de abril de 2025). Se
você usa uma versão do React Native anterior à 0.79, defina resolver.unstable_enablePackageExports = true no seu metro.config.js para que este pacote seja resolvido corretamente:
Configuração
Configuração do provedor
Envolva seu app com o ConversationProvider para habilitar as funcionalidades do ElevenAgents.
@elevenlabs/react-native reexporta ConversationProvider e todos os hooks de
@elevenlabs/react. A API é idêntica à do SDK React para web — consulte a documentação do SDK
React para ver a referência completa da API.
Uso
Todos os hooks do SDK React estão disponíveis por meio de @elevenlabs/react-native:
useConversation— hook prático que reúne todos os estados e métodosuseConversationControls— métodos de ação (startSession, endSession etc.)useConversationStatus— status da conexãouseConversationInput— estado de silenciamentouseConversationMode— estado de fala/escutauseConversationFeedback— disponibilidade e envio de feedbackuseConversationClientTool— registro dinâmico de ferramentas do clienteuseRawConversation— instância bruta da conversa
Iniciando uma conversa
Para agentes privados, autenticação, ferramentas do cliente, substituições e todos os outros recursos, consulte a documentação do SDK React.
Exemplo de implementação
Veja um exemplo completo de um componente React Native que usa o SDK de Agents da ElevenLabs:
Considerações específicas da plataforma
iOS
Verifique se as permissões de microfone estão configuradas corretamente no seu Info.plist:
Android
Adicione as permissões de microfone ao seu android/app/src/main/AndroidManifest.xml:
Considere solicitar permissões de execução antes de iniciar uma conversa: