Einstieg
Eine Einrichtungsanfrage mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin kopieren.
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.
Installieren
Abschnitt mit dem Titel „Installieren“bun add @capgo/capacitor-twilio-voicebunx cap syncImportieren
Abschnitt mit dem Titel „Importieren“import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API Übersicht
Abschnitt mit dem Titel “API Übersicht”Authentifizieren Sie den Benutzer mit Twilio Voice mithilfe eines Zugriffstokens.
Das Zugriffstoken sollte auf Ihrem Backend-Server mit Ihren Twilio-Zugangsdaten generiert werden. Dieses Token ist erforderlich, um Anrufe über Twilio Voice aufzunehmen und zu empfangen.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({ accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'});console.log('Login successful:', result.success);Beenden Sie die Sitzung des aktuellen Benutzers und registrieren Sie sich nicht mehr bei Twilio Voice.
Dies wird alle aktiven Anrufe trennen und den Gerät von neuen Eingehende Anrufbenachrichtigungen abmelden.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();console.log('Logout successful:', result.success);isLoggedIn
Abschnitt mit dem Titel “ist angemeldet”Überprüfen Sie, ob der Benutzer derzeit angemeldet ist und ein gültiger Zugriffstoken besitzt.
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}Initiiere einen ausgehenden Anruf an eine Telefonnummer oder einen Kunden.
Der Benutzer muss angemeldet sein, bevor ein Anruf getätigt werden kann. Der Anruf wird über Ihre Twilio-Backend-Konfiguration weitergeleitet.
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
Abschnitt mit dem Titel “acceptCall”Akzeptiere einen eingehenden Anruf.
Dies sollte in Reaktion auf einen ‘callInviteReceived’-Ereignis aufgerufen werden.
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
Abschnitt mit dem Titel “rejectCall”Ablehnen Sie einen eingehenden Anruf.
Dies sollte in Reaktion auf einen ‘callInviteReceived’-Ereignis aufgerufen werden. Der Anrufer hört ein Besetztzeichen oder wird zur Mailbox umgeleitet.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});Ein aktives Gespräch beenden.
Wenn callSid nicht bereitgestellt wird, beendet dies das derzeit aktive Gespräch.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active callawait CapacitorTwilioVoice.endCall({});
// End a specific callawait CapacitorTwilioVoice.endCall({ callSid: 'CA1234567890abcdef'});Das Mikrofon während eines aktiven Gesprächs abschalten oder wieder eingeschalten.
Wenn abgeschaltet, hört die andere Partei kein Audio von Ihrem Mikrofon.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: true});
// Unmute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: false});setSpeaker
Abschnitt mit dem Titel “setSpeaker”Das Lautsprecher-Modus aktivieren oder deaktivieren.
Wenn aktiviert, wird das Audio über den Geräte-Lautsprecher statt über das Ohrhörer geleitet.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
Abschnitt mit dem Titel „getCallStatus“Ermitteln Sie den aktuellen Status der aktiven Anrufverbindung.
Dies liefert Echtzeitinformationen über den Anrufzustand, den Mute-Zustand, den Halte-Zustand und die Anruf-Identifikatoren.
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
Abschnitt mit dem Titel „checkMicrophonePermission“Überprüfen Sie, ob die Mikrofon-Berechtigung erteilt wurde.
Dies stellt die aktuelle Berechtigungsstatus überprüft, ohne eine Berechtigung zu beantragen.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();if (!result.granted) { console.log('Microphone permission not granted');}requestMicrophonePermission
Abschnitt mit dem Titel „requestMicrophonePermission“Bitten Sie den Benutzer um die Berechtigung für das Mikrofon.
Auf iOS und Android wird diese Anzeige, wenn noch keine Berechtigung erteilt wurde, das System-Berechtigungsdialog anzeigen. Wenn die Berechtigung zuvor abgelehnt wurde, muss der Benutzer sie möglicherweise in den Systemeinstellungen erteilen.
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');}Typenverweis
Abschnitt mit dem Titel „Typenverweis“CallInvite
Abschnitt mit dem Titel „CallInvite“Capacitor-Plugin zur Integration der Twilio Voice-Funktion in mobile Anwendungen.
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>;}Wahrheitsquelle
Abschnitt mit dem Titel „Wahrheitsquelle“Diese Seite wird aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisation, wenn die öffentliche API-Änderung upstream erfolgt ist.