SDK de React Native
SDK de ElevenAgents: implementa agentes de voz personalizados e interactivos en minutos para apps de React Native.
Consulta la visión general de ElevenAgents para entender cómo funciona ElevenAgents.
Instalación
Instala el paquete y sus dependencias en tu proyecto de React Native.
Puedes encontrar una aplicación de ejemplo que usa este SDK con Expo aquí
¿Estás actualizando desde una versión anterior? Ejecuta npx skills add elevenlabs/packages para instalar la
skill elevenlabs:sdk-migration para tu agente de programación con IA, que automatiza los cambios de importación,
la integración de ConversationProvider y las actualizaciones de la API.
Requisitos
- React Native con dependencias de LiveKit
- Permisos de micrófono configurados para tu plataforma
- Compatibilidad con Expo (solo compilaciones de desarrollo)
- React Native 0.79.0 o superior, o Metro configurado para resolver
"exports"depackage.jsonen versiones anteriores
Este SDK se ha diseñado y desarrollado para usarse con el framework Expo. Debido a su dependencia de la implementación WebRTC de LiveKit, requiere compilaciones de desarrollo y no puede usarse con Expo Go.
@elevenlabs/react-native resuelve su punto de entrada de React Native mediante el campo
"exports" de package.json. Metro solo resuelve
"exports" de forma predeterminada a partir de Metro 0.82.0, incluido en React Native
0.79.0 (publicado el 8 de abril de 2025). Si
utilizas una versión de React Native anterior a la 0.79, configura resolver.unstable_enablePackageExports = true en tu metro.config.js para que este paquete se resuelva correctamente:
Configuración
Configuración del proveedor
Envuelve tu aplicación con ConversationProvider para activar la funcionalidad de ElevenAgents.
@elevenlabs/react-native vuelve a exportar ConversationProvider y todos los hooks de
@elevenlabs/react. La API es idéntica a la del SDK de React para web; consulta la documentación del SDK de
React para ver la referencia completa de la API.
Uso
Todos los hooks del SDK de React están disponibles mediante @elevenlabs/react-native:
useConversation: hook práctico que combina todo el estado y los métodosuseConversationControls: métodos de acción (startSession, endSession, etc.)useConversationStatus: estado de la conexiónuseConversationInput: estado de silenciouseConversationMode: estado de habla/escuchauseConversationFeedback: disponibilidad y envío de comentariosuseConversationClientTool: registro dinámico de herramientas del clienteuseRawConversation: instancia de conversación sin procesar
Iniciar una conversación
Para agentes privados, autenticación, herramientas de cliente, anulaciones y todas las demás funciones, consulta la documentación del SDK de React.
Ejemplo de implementación
Aquí tienes un ejemplo completo de un componente de React Native que usa el SDK de ElevenLabs Agents:
Consideraciones específicas de cada plataforma
iOS
Asegúrate de que los permisos de micrófono estén configurados correctamente en tu Info.plist:
Android
Añade permisos de micrófono a tu android/app/src/main/AndroidManifest.xml:
Valora solicitar permisos de tiempo de ejecución antes de iniciar una conversación: