Getting Started
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.
Installare
Sezione intitolata “Installazione”Puoi utilizzare la nostra configurazione assistita dall'IA per installare il plugin. Aggiungi le Capgo abilità al tuo strumento di AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsUsa poi il seguente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-twilio-voice` plugin in my project.Se preferisci l'installazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche per la piattaforma riportate di seguito:
bun add @capgo/capacitor-twilio-voicebunx cap syncimport { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';Sottosezione intitolata “API Overview”
Section titled “API Overview”Autenticati l'utente con Twilio Voice utilizzando un token di accesso.
Deve essere generato il token di accesso sul server backend utilizzando le credenziali 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);Disconnetti l'utente corrente e disiscrivi da Twilio Voice.
Questa azione disconnetterà eventuali chiamate in corso 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 “isLoggedIn”Verifica 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}makeCall
Sezione intitolata “makeCall”Avvia una chiamata in uscita verso un numero di telefono o un client.
L'utente deve essere connesso prima di effettuare una chiamata. La chiamata sarà instradata tramite la configurazione backend 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 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 }); }});Termina una chiamata attiva.
Se callSid non è fornito, questa terminerà 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”Muta o dismuta il microfono durante una chiamata in corso.
Quando è spento, l'altra parte non sentirà audio dal tuo 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”Abilita o disabilita il modo speakerphone.
Quando abilitato, l'audio verrà inviato 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 corrente della chiamata in corso.
Ciò fornisce informazioni in tempo reale sullo stato della chiamata, lo stato di muta, 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 “checkMicrophonePermission”Verifica se è stato concesso il permesso all'uso del microfono.
Questa 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 “requestMicrophonePermission”Richiedi il permesso all'uso del microfono all'utente.
Su iOS e Android, questo mostrerà il dialogo di permesso del sistema se il permesso non è stato ancora concesso. Se il permesso è stato precedentemente negato, l'utente potrebbe doverlo concedere 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 “Type Reference”CallInvite
Sezione intitolata “CallInvite”Capacitor plugin per l'integrazione della funzionalità di Twilio Voice 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. Re-run the sync when the public API changes upstream.
Continua da qui: Iniziare
Sezione intitolata “Continua da qui: Iniziare”Se stai utilizzando Getting Started per pianificare la dashboard e le operazioni API, connettilo con Utilizza @capgo/capacitor-twilio-voice per la capacità nativa in Utilizzo di @capgo/capacitor-twilio-voice, API Panoramica per il dettaglio di implementazione in API Panoramica, Introduzione per il dettaglio di implementazione in Introduzione, API Chiavi per il dettaglio di implementazione in API Chiavi, e Dispositivi per i dettagli di implementazione nei dispositivi.