Repositorio de Twilio Voice __CAPGO_KEEP_0__
Copie un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-twilio-voice`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/twilio-voice/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalar”Puede utilizar nuestra configuración asistida por IA para instalar el plugin. Agregue las Capgo habilidades a su herramienta de IA utilizando el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utilice el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-twilio-voice` plugin in my project.Si prefieres la configuración manual, instala el complemento ejecutando los siguientes comandos y sigue las instrucciones específicas de la plataforma a continuación:
bun add @capgo/capacitor-twilio-voicebunx cap syncImportar
Sección titulada “Importar”import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API Resumen
Sección titulada “API Resumen”login
Iniciar sesiónAutentica al usuario con Twilio Voice utilizando un token de acceso.
El token de acceso debe generarse en tu servidor de backend utilizando tus credenciales de Twilio. Este token es necesario para realizar y recibir llamadas a través de Twilio Voice.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({ accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'});console.log('Login successful:', result.success);Cerrar la sesión actual del usuario y desregistrarse de Twilio Voice.
Esto desconectará cualquier llamada activa y detendrá al dispositivo de recibir nuevas notificaciones de llamadas entrantes.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();console.log('Logout successful:', result.success);isLoggedIn
Sección titulada “está conectado”Comprobar si el usuario está actualmente conectado y tiene un token de acceso válido.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.isLoggedIn();if (status.isLoggedIn && status.hasValidToken) { console.log('User identity:', status.identity);} else { // Re-authenticate the user}Iniciar una llamada saliente a un número de teléfono o cliente.
El usuario debe estar conectado antes de realizar una llamada. La llamada se enrutará a través de la configuración de backend de Twilio.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Call a phone numberconst result = await CapacitorTwilioVoice.makeCall({ to: '+1234567890'});console.log('Call SID:', result.callSid);
// Call another Twilio client with a readable name for CallKit Recentsawait CapacitorTwilioVoice.makeCall({ to: 'client:alice', displayName: 'Alice Smith'});
// Call a PSTN number using a specific caller IDawait CapacitorTwilioVoice.makeCall({ to: '+1234567890', callerId: '+10987654321'});acceptCall
Sección titulada “acceptCall”Aceptar una llamada entrante.
Debería llamarse en respuesta a un evento ‘callInviteReceived’.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { console.log('Incoming call from:', data.from); const result = await CapacitorTwilioVoice.acceptCall({ callSid: data.callSid }); console.log('Call accepted:', result.success);});rejectCall
Sección titulada “rejectCall”Rechazar una llamada entrante.
Debería llamarse en respuesta a un evento ‘callInviteReceived’. El llamante escuchará un señal de ocupado o será dirigido a la caja de voz.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});endCall
Sección titulada “endCall”Finalizar una llamada activa.
Si callSid no se proporciona, esto finalizará la llamada activa actual.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active callawait CapacitorTwilioVoice.endCall({});
// End a specific callawait CapacitorTwilioVoice.endCall({ callSid: 'CA1234567890abcdef'});muteCall
Sección titulada “muteCall”Silenciar o desilenciar el micrófono durante una llamada activa.
Cuando está silenciado, la otra parte no escuchará audio de su micrófono.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: true});
// Unmute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: false});setSpeaker
Sección titulada “setSpeaker”Habilitar o deshabilitar el modo de altavoz.
Cuando está habilitado, el audio se redirigirá a través del altavoz del dispositivo en lugar del altavoz de oreja.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
Sección titulada “getCallStatus”Obtener el estado actual de la llamada activa.
Esto proporciona información en tiempo real sobre el estado de la llamada, el estado de silencio, estatus de espera y identificadores de llamada.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const status = await CapacitorTwilioVoice.getCallStatus();if (status.hasActiveCall) { console.log('Call SID:', status.callSid); console.log('Call State:', status.callState); console.log('Is Muted:', status.isMuted); console.log('Is On Hold:', status.isOnHold);}checkMicrophonePermission
Sección titulada “verificarPermisoDeMicrófono”Verificar si se ha concedido permiso de micrófono.
Esto no solicita permiso, solo verifica el estado de permiso actual.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();if (!result.granted) { console.log('Microphone permission not granted');}requestMicrophonePermission
Sección titulada “solicitarPermisoDeMicrófono”Solicitar permiso de micrófono al usuario.
En iOS y Android, esto mostrará el diálogo de permiso del sistema si aún no se ha concedido permiso. Si el permiso se denegó anteriormente, el usuario puede necesitar concederlo en ajustes del sistema.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.requestMicrophonePermission();if (result.granted) { console.log('Microphone permission granted');} else { console.log('Microphone permission denied');}Referencia de tipo
Sección titulada “Referencia de tipo”CallInvite
Sección titulada “Llamada de invitación”Capacitor plugin para integrar la funcionalidad de voz de Twilio en aplicaciones móviles.
export interface CallInvite { /** Unique identifier for the incoming call invitation */ callSid: string; /** Phone number or client identifier of the caller (may include custom caller name) */ from: string; /** Phone number or client identifier being called */ to: string; /** Custom parameters passed with the call invitation */ customParams: Record<string, string>;}Fuente de Verdad
Sección titulada “Fuente de Verdad”Esta página se genera desde el plugin’s src/definitions.tsRe-ejecutar la sincronización cuando el público API cambie en la fuente.
Seguir adelante desde Getting Started
Sección titulada “Seguir adelante desde Getting Started”Si estás utilizando Getting Started para planificar la consola y las operaciones de API, conecta con Usando @capgo/capacitor-twilio-voice para la capacidad nativa en Usando @capgo/capacitor-twilio-voice, API Resumen para los detalles de implementación en API Resumen, Introducción para los detalles de implementación en Introducción, API Claves para los detalles de implementación en API Claves, y Dispositivos para los detalles de implementación en Dispositivos.