Saltar al contenido principal
@capgo/capacitor-twilio-voice Comunicación Código abierto

Twilio Voice plugin Capacitor

Realiza y recibe llamadas VoIP con Twilio Voice para funciones de llamadas en la app

Instalar

bun add @capgo/capacitor-twilio-voice bunx cap sync
npm, pnpm o yarn
  • npm install @capgo/capacitor-twilio-voice
  • pnpm add @capgo/capacitor-twilio-voice
  • yarn add @capgo/capacitor-twilio-voice

Guía

Cómo usar Twilio Voice en Capacitor

Uso de @capgo/capacitor-twilio-voice

Integra el SDK de Twilio Voice en Capacitor

Instalar

bun add @capgo/capacitor-twilio-voice
bunx cap sync

bunx cap sync copia el code nativo del plugin en tus proyectos nativos. Ejecútalo de nuevo tras cada actualización del plugin.

Importar

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

API de un vistazo

Método Descripción
login Autentica al usuario con Twilio Voice usando un access token.
logout Cierra la sesión del usuario actual y desregistralo de Twilio Voice.
isLoggedIn Verifica si el usuario tiene una sesión iniciada y un access token válido.
makeCall Inicia una llamada saliente a un número de teléfono o cliente.
acceptCall Acepta una llamada entrante.
rejectCall Rechaza una llamada entrante.
endCall Finaliza una llamada activa.
muteCall Silenciar o activar el micrófono durante una llamada activa.
setSpeaker Activar o desactivar el modo altavoz.
getCallStatus Obtener el estado actual de la llamada activa.
checkMicrophonePermission Comprobar si se ha concedido el permiso del micrófono.
requestMicrophonePermission Solicitar permiso de micrófono al usuario.

Ejemplos

login()

Autenticar al usuario con Twilio Voice usando un access token.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

const result = await CapacitorTwilioVoice.login({
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
});
console.log('Login successful:', result.success);

logout()

Cerrar la sesión del usuario actual y desregistrarlo de Twilio Voice.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

const result = await CapacitorTwilioVoice.logout();
console.log('Logout successful:', result.success);

isLoggedIn()

Comprobar si el usuario tiene la sesión iniciada y un access token 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
}

makeCall()

Iniciar una llamada saliente a un número o cliente.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

// Call a phone number
const result = await CapacitorTwilioVoice.makeCall({
  to: '+1234567890'
});
console.log('Call SID:', result.callSid);

// Call another Twilio client with a readable name for CallKit Recents
await CapacitorTwilioVoice.makeCall({
  to: 'client:alice',
  displayName: 'Alice Smith'
});

// Call a PSTN number using a specific caller ID
await CapacitorTwilioVoice.makeCall({
  to: '+1234567890',
  callerId: '+10987654321'
});

acceptCall()

Aceptar una llamada entrante.

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()

Rechazar una llamada entrante.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
  if (shouldRejectCall(data.from)) {
    await CapacitorTwilioVoice.rejectCall({
      callSid: data.callSid
    });
  }
});

La tabla anterior enumera los 12 métodos principales. Los helpers de listener y de versión, y el contrato completo de cada método, están documentados en la repositorio GitHub.

Escuchar eventos

addListener devuelve un handle. Llama handle.remove() cuando la pantalla se desmonte, o CapacitorTwilioVoice.removeAllListeners() para limpiar todos los listeners.

Referencia completa

Continúa desde Usando @capgo/capacitor-twilio-voice

Si estás usando Uso de @capgo/capacitor-twilio-voice para planificar el trabajo con plugins nativos, conéctalo con @capgo/capacitor-twilio-voice para los detalles de implementación en @capgo/capacitor-twilio-voice, Primeros pasos para los detalles de implementación en Primeros pasos, Directorio de plugins de Capgo para el flujo de trabajo del producto en Capgo Plugin Directory, Plugins de Capacitor por Capgo para los detalles de implementación en Capacitor Plugins de Capgo, y Añadir o actualizar plugins para los detalles de implementación al añadir o actualizar plugins.

FAQ

FAQ del plugin Twilio Voice

¿Cómo instalo el plugin Twilio Voice en una app Capacitor?

Ejecuta "bun add @capgo/capacitor-twilio-voice" (o "npm install @capgo/capacitor-twilio-voice"), luego corre "bunx cap sync" para que los proyectos de iOS y Android detecten el code nativo. Impórtalo desde "@capgo/capacitor-twilio-voice" en el code de tu app.

¿Funciona @capgo/capacitor-twilio-voice con React, Vue y Angular?

Sí. Twilio Voice es un paquete Capacitor, por lo que funciona con cualquier framework web que corra dentro de Capacitor, incluyendo Ionic, React, Vue, Angular, Svelte y JavaScript puro.

¿Qué versión de Capacitor soporta @capgo/capacitor-twilio-voice?

Los plugins de Capgo siguen la versión mayor de Capacitor: usa la versión mayor del plugin que coincida con la versión mayor de tu Capacitor (por ejemplo, el plugin v8 con Capacitor 8). La tabla de compatibilidad del README de GitHub lista las versiones mantenidas.

¿Es @capgo/capacitor-twilio-voice gratuito y open source?

Sí. El código fuente de code es público en GitHub en https://github.com/Cap-go/capacitor-twilio-voice/ y el paquete es gratuito para instalar desde npm. Los reportes de bugs y pull requests son bienvenidos.

¿Puedo actualizar code que usa Twilio Voice sin pasar por la revisión de la App Store?

Instalar o actualizar el plugin cambia el code nativo, así que requiere un nuevo build para la tienda. Después, los cambios de JavaScript, HTML y CSS que llamen al plugin se pueden publicar al instante con las live updates de Capgo.

Lanza cambios de Twilio Voice sin esperar la revisión de la app

Una vez que el plugin esté en tu store build, Capgo live updates envía tus cambios de JavaScript, HTML y CSS a los usuarios en minutos.

Empieza con Capgo