Saltar al contenido

Getting Started

GitHub

Configuración

Instalación

Puede utilizar nuestra configuración asistida por IA para instalar el complemento. Agregue las Capgo habilidades a su herramienta de IA utilizando el siguiente comando:

Ventana de terminal
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Luego utilice la siguiente solicitud:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-twilio-voice` plugin in my project.

Si prefiere la configuración manual, instale el complemento ejecutando los siguientes comandos y siga las instrucciones específicas del plataforma a continuación:

Ventana de terminal
bun add @capgo/capacitor-twilio-voice
bunx cap sync
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

Autenticar al usuario con Twilio Voice utilizando un token de acceso.

El token de acceso debe generarse en su servidor de backend utilizando sus 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 del usuario actual 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);

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 routeará a través de la configuración de backend de Twilio.

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'
});

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);
});

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 buzón de voz.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
if (shouldRejectCall(data.from)) {
await CapacitorTwilioVoice.rejectCall({
callSid: data.callSid
});
}
});

Finalizar una llamada activa.

Si no se proporciona callSid, esto finalizará la llamada activa actual.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active call
await CapacitorTwilioVoice.endCall({});
// End a specific call
await CapacitorTwilioVoice.endCall({
callSid: 'CA1234567890abcdef'
});

Silenciar o activar 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 microphone
await CapacitorTwilioVoice.muteCall({
muted: true
});
// Unmute the microphone
await CapacitorTwilioVoice.muteCall({
muted: false
});

Activar o desactivar el modo altavoz.

Cuando está habilitado, el audio se redirigirá a través del altavoz del dispositivo en lugar del auricular.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphone
await CapacitorTwilioVoice.setSpeaker({
enabled: true
});
// Disable speakerphone
await CapacitorTwilioVoice.setSpeaker({
enabled: false
});

Obtenga el estado actual de la llamada activa.

Esto proporciona información en tiempo real sobre el estado de la llamada, el estado de silencio, el estado de espera y los identificadores de la 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);
}

Verifique si se ha concedido permiso para el 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');
}

Solicite permiso para el 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 los 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');
}

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>;
}

Esta página se genera a partir del plugin’s src/definitions.tsRe-ejecutar la sincronización cuando los cambios públicos API se actualicen en la fuente.

Si estás utilizando Empezar para planificar la consola y API operaciones, conectarlo con Usando @capgo/capacitor-twilio-voice para la capacidad nativa en Usando @capgo/capacitor-twilio-voice, Resumen de API para el detalle de implementación en Resumen de API, Introducción para el detalle de implementación en Introducción, Claves de API para el detalle de implementación en Claves de API, y Dispositivos para el detalle de implementación en Dispositivos.