Passer au contenu

Démarrage

Fenêtre de terminal
bun add @capgo/capacitor-twilio-voice
bunx cap sync
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

Authentifier l'utilisateur avec Twilio Voice à l'aide d'un jeton d'accès.

Le jeton d'accès doit être généré sur votre serveur backend à l'aide de vos identifiants Twilio. Ce jeton est requis pour passer et recevoir des appels à l'aide de Twilio Voice.

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

Se déconnecter de l'utilisateur actuel et se désinscrire de Twilio Voice.

Cela déconnectera tout appel actif et arrêtera le dispositif de recevoir de nouvelles notifications de notifications d'appel entrantes.

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

Vérifier si l'utilisateur est actuellement connecté et dispose d'un jeton d'accès valide.

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
}

Initiez une communication sortante vers un numéro de téléphone ou un client.

L'utilisateur doit être connecté avant de passer une communication. La communication sera acheminée à travers votre configuration de backend Twilio.

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

Accepter une communication entrante.

Cela doit être appelé en réponse à un événement ‘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);
});

Refuser une communication entrante.

Cela doit être appelé en réponse à un événement ‘callInviteReceived’. Le correspondant entendra un signal occupé ou sera redirigé vers le messagerie vocale.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
if (shouldRejectCall(data.from)) {
await CapacitorTwilioVoice.rejectCall({
callSid: data.callSid
});
}
});

Terminer une appel en cours.

Si callSid n'est pas fourni, cela terminera l'appel en cours.

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

Mutez ou démutez le microphone pendant une appel en cours.

Lorsque le microphone est mis en mode muet, la partie adverse ne pourra pas entendre l'audio provenant de votre microphone.

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

Activer ou désactiver le mode haut-parleur.

Lorsque le mode haut-parleur est activé, l'audio sera redirigé vers le haut-parleur du dispositif au lieu de l'écouteur.

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

Obtenez l'état actuel de l'appel en cours.

Cela fournit des informations en temps réel sur l'état de l'appel, l'état de la sourdine, l'état de la mise en attente et les identifiants de l'appel.

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

Vérifiez si la permission du microphone a été accordée.

Cela ne demande pas de permission, mais vérifie uniquement l'état de la permission actuelle.

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

Demander la permission du microphone à l'utilisateur.

Sur iOS et Android, cela affichera le dialogue de permission système si la permission n'a pas encore été accordée. Si la permission a été précédemment refusée, l'utilisateur doit peut-être l'accorder dans les paramètres système.

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

Référence de type

Référence de type

Capacitor plugin pour intégrer la fonctionnalité de voix Twilio dans les applications mobiles.

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

Cette page est générée à partir du plugin's src/definitions.tsRe-run la synchronisation lorsque les modifications publiques API se produisent en amont.

Si vous utilisez Getting Started planer le tableau de bord et les opérations API, connectez-le à En utilisant @capgo/capacitor-twilio-voice pour la capacité native dans En utilisant @capgo/capacitor-twilio-voice, API Vue d'ensemble pour le détail d'implémentation dans API Vue d'ensemble, Introduction pour le détail d'implémentation dans Introduction, API Clés pour le détail d'implémentation dans API Clés, et Appareils pour le détail d'implémentation dans Appareils.