Iniziare
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo 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.
Installazione
Sezione intitolata “Installazione”bun add @capgo/capacitor-twilio-voicebunx cap syncImportazione
Sezione intitolata “Importazione”import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API Panoramica
Sezione intitolata “API Panoramica”Autenticare l'utente con Twilio Voice utilizzando un token di accesso.
Il token di accesso dovrebbe essere generato sul tuo server backend utilizzando le tue credenziali di Twilio. Questo token è richiesto per effettuare e ricevere chiamate tramite Twilio Voice.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({ accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'});console.log('Login successful:', result.success);Disconnettere l'utente corrente e disiscrivere da Twilio Voice.
Ciò disconnetterà eventuali chiamate attive e impedirà al dispositivo di ricevere nuove notifiche di chiamata in arrivo.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();console.log('Logout successful:', result.success);isLoggedIn
Sezione intitolata “è loggato”Verificare se l'utente è attualmente connesso e possiede un token di accesso valido.
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}Inizia una chiamata in uscita a un numero di telefono o a un cliente.
L'utente deve essere connesso prima di effettuare una chiamata. La chiamata verrà instradata attraverso la tua configurazione backend di 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
Sezione intitolata “accettaChiamata”Accetta una chiamata in arrivo.
Questa dovrebbe essere chiamata in risposta 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
Sezione intitolata “rifiutaChiamata”Rifiuta una chiamata in arrivo.
Questa dovrebbe essere chiamata in risposta a un evento ‘callInviteReceived’. Il chiamante sentirà un segnale di occupato o sarà diretto al messaggio vocale.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});Chiudi la chiamata in corso.
Se non viene fornito il parametro callSid, questa azione chiuderà la chiamata attiva corrente.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active callawait CapacitorTwilioVoice.endCall({});
// End a specific callawait CapacitorTwilioVoice.endCall({ callSid: 'CA1234567890abcdef'});muteCall
Sezione intitolata “muteCall”Attiva o disattiva il silenziamento del microfono durante una chiamata attiva.
Quando il microfono è silenziato, l'altra parte non sentirà audio dal microfono.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: true});
// Unmute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: false});setSpeaker
Sezione intitolata “setSpeaker”Attiva o disattiva il modo speakerphone.
Quando abilitato, l'audio verrà reindirizzato attraverso lo speaker del dispositivo al posto dell'auricolare.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
Sezione intitolata “getCallStatus”Ottieni lo stato attuale della chiamata attiva.
Ciò fornisce informazioni in tempo reale sullo stato della chiamata, lo stato del silenzio, lo stato di sospensione e gli identificatori della chiamata.
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
Sezione intitolata “verifica i permessi del microfono”Verifica se è stato concesso il permesso del microfono.
Ciò non richiede il permesso, ma solo verifica lo stato di permesso attuale.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();if (!result.granted) { console.log('Microphone permission not granted');}requestMicrophonePermission
Sezione intitolata “richiedi i permessi del microfono”Richiedi i permessi del microfono all'utente.
Su iOS e Android, ciò mostrerà il dialogo di permesso del sistema se il permesso non è stato ancora concesso. Se il permesso è stato precedentemente negato, l'utente potrebbe dover concederlo nelle impostazioni 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');}Riferimento di tipo
Sezione intitolata “Riferimento di tipo”Capacitor plugin per l'integrazione della funzionalità di Voice di Twilio nelle applicazioni mobili.
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>;}Fonte di verità
Sezione intitolata “Fonte di verità”Questa pagina è generata dal plugin’s src/definitions.ts. Riavvia la sincronizzazione quando le informazioni pubbliche API cambiano in modo upstream.
Continua da Iniziare
Sezione intitolata “Continua da Iniziare”Se stai utilizzando Iniziare per pianificare il dashboard e le API operazioni, connettilo con Usando @capgo/capacitor-twilio-voice per la capacità nativa in Usando @capgo/capacitor-twilio-voice, Panoramica di API per i dettagli di implementazione in Panoramica di API, Introduzione per i dettagli di implementazione in Introduzione, Chiavi di API per i dettagli di implementazione in Chiavi di API, e Dispositivi per i dettagli di implementazione in Dispositivi.