Zum Inhalt springen

Getting Started

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

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 Anmeldung des aktuellen Benutzers und registrieren Sie sich bei Twilio Voice nicht mehr.

Dies wird alle aktiven Anrufe beenden und verhindern, dass das Gerät neue eingehende Anrufbenachrichtigungen erhält.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();
console.log('Logout successful:', result.success);

Überprüfen Sie, ob der Benutzer derzeit angemeldet ist und ein gültiges 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
}

Ein ausgehender Anruf an eine Telefonnummer oder einen Kunden starten.

Der Benutzer muss sich vor dem Anruf anmelden. Der Anruf wird über Ihre Twilio-Backend-Konfiguration geroutet.

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

Ein eingehenden Anruf akzeptieren.

Dies sollte auf eine ‘callInviteReceived’-Ereignis antworten.

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

Ein eingehenden Anruf ablehnen.

Dies sollte auf eine ‘callInviteReceived’-Ereignis antworten. 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
});
}
});

Ende einer aktiven Anruf.

Wenn callSid nicht bereitgestellt wird, beendet dies den derzeit aktiven Anruf.

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

Mikrofon während eines aktiven Anrufs ein- oder ausschalten.

Wenn das Mikrofon ausgeschaltet ist, hört die andere Partei kein Audio von Ihrem Mikrofon.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphone
await CapacitorTwilioVoice.muteCall({
muted: true
});
// Unmute the microphone
await CapacitorTwilioVoice.muteCall({
muted: false
});

Lautsprechermodus ein- oder ausschalten.

Wenn aktiviert, wird das Audio über das Gerätsprecher statt über das Ohrhörer geleitet.

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

Ermitteln Sie den aktuellen Status der aktiven Anrufverbindung.

Dies liefert Echtzeitinformationen über den Anrufzustand, den Mute-Status, den Haltedaten und die Anrufidentifikatoren.

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

Überprüfen Sie, ob die Mikrofonberechtigung erteilt wurde.

Dies stellt die aktuelle Berechtigungsstatus ab, ohne eine Berechtigung abzurufen.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();
if (!result.granted) {
console.log('Microphone permission not granted');
}

Berechtigung für das Mikrofon vom Benutzer anfordern.

Auf iOS und Android wird bei nicht erteilter Berechtigung das Systemdialogfenster angezeigt. 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');
}

Capacitor-Plugin für die 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>;
}

Diese Seite wurde aus dem Plugin generiert. src/definitions.tsRe-run die Synchronisierung, wenn die öffentliche API-Datei sich im Quellcode ändert.

Wenn Sie " Getting Started um das Dashboard und API-Operationen zu planen, verbinden Sie es mit Mit @capgo/capacitor-twilio-voice für die native Fähigkeit in Mit @capgo/capacitor-twilio-voice, API-Übersicht für die Implementierungsdetails in API-Übersicht, Einführung für die Implementierungsdetails in Einführung, API-Schlüssel für die Implementierungsdetails in API-Schlüssel, und Geräte für die Implementierungsdetails in Geräte.