Avvio
Copia un prompt di configurazione con le istruzioni 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.
Installa
Sezione intitolata “Installa”Puoi utilizzare la nostra configurazione assistita da AI per installare il plugin. Aggiungi le Capgo competenze al tuo strumento AI utilizzando il seguente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsPoi utilizza 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 la configurazione manuale, installa il plugin eseguendo i seguenti comandi e segui le istruzioni specifiche del tuo platform sotto:
bun add @capgo/capacitor-twilio-voicebunx cap syncImporta
Sezione intitolata “Importa”import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API Panoramica
Sezione intitolata “API Panoramica”Autentica l'utente con Twilio Voice utilizzando un token di accesso.
Il token di accesso dovrebbe essere generato sul tuo server back-end utilizzando le tue 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.
Ciò disconnetterà eventuali chiamate attive e fermò il dispositivo da 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 ha 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}Avvia una chiamata in uscita verso un numero di telefono o un client.
Prima di effettuare una chiamata, l'utente deve essere connesso. La chiamata verrà instradata attraverso 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
Sottosezione intitolata “acceptCall”Accetta una chiamata in arrivo.
Questo deve essere chiamato 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
Sottosezione intitolata “rejectCall”Rifiuta una chiamata in arrivo.
Questo dovrebbe essere chiamato in risposta a un evento 'callInviteReceived'. Il chiamante sentirà un segnale di occupato o sarà diretto alla segreteria telefonica.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});endCall
Sezione intitolata “endCall”Termina una chiamata in corso.
Se non viene fornito callSid, 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”Attiva o disattiva il silenziatore del microfono durante una chiamata in corso.
Quando è silenziato, 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.
When abilitato, l'audio verrà inviato attraverso lo speaker del dispositivo al posto dell'altoparlante.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
Sottosezione intitolata “getCallStatus”Ottieni lo stato corrente della chiamata attiva.
Questa 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
Sottosezione intitolata “checkMicrophonePermission”Controlla se è stato concesso il permesso per l'uso del microfono.
Questa non richiede il permesso, ma solo verifica lo stato di permesso corrente.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();if (!result.granted) { console.log('Microphone permission not granted');}requestMicrophonePermission
Sottosezione intitolata “requestMicrophonePermission”Richiedi il permesso per l'uso del microfono all'utente.
On iOS e Android, questo mostrerà il dialogo di autorizzazione del sistema se non è stato ancora concesso il permesso. Se il permesso è stato precedentemente negato, l'utente potrebbe doverlo concedere nei 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
Sottosezione 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>;}Punti di riferimento
Sottosezione intitolata “Punti di riferimento”Questa pagina è generata dal plugin’s src/definitions.ts. Riavvia la sincronizzazione quando le modifiche pubbliche API cambiano in linea.
Continua da Iniziare
Sezione intitolata “Continua da Inizia”Se stai utilizzando Inizia per pianificare il dashboard e le API operazioni, connettilo con Utilizza @capgo/capacitor-twilio-voice per la capacità nativa in Utilizza @capgo/capacitor-twilio-voice API Panoramica per i dettagli di implementazione in API Panoramica Introduzione per i dettagli di implementazione in Introduzione API Chiavi per i dettagli di implementazione in API Chiavi Dispositivi per i dettagli di implementazione in Dispositivi.