Mulai
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
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.
Instal
Bagian berjudul “Instal”bun add @capgo/capacitor-twilio-voicebunx cap syncimport { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API Pengenalan
Bagian berjudul “API Pengenalan”Autentikasi pengguna dengan Twilio Voice menggunakan token akses.
Token akses harus dihasilkan di server backend Anda menggunakan kredit Twilio Anda. Token ini diperlukan untuk membuat dan menerima panggilan melalui Twilio Voice.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.login({ accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'});console.log('Login successful:', result.success);logout
Bagian berjudul “logout”Keluar dari pengguna saat ini dan melepaskan diri dari Twilio Voice.
Hal ini akan memutuskan panggilan aktif dan menghentikan perangkat dari menerima pemberitahuan panggilan masuk baru.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();console.log('Logout successful:', result.success);isLoggedIn
Bagian berjudul “isLoggedIn”Periksa apakah pengguna saat ini sudah masuk dan memiliki token akses yang valid.
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
Bagian berjudul “makeCall”Mulai panggilan keluar ke nomor telepon atau klien.
Pengguna harus masuk terlebih dahulu sebelum melakukan panggilan. Panggilan akan dialihkan melalui konfigurasi backend Twilio Anda.
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
Bagian berjudul “acceptCall”Terima panggilan masuk.
Fungsi ini harus dipanggil dalam respons terhadap event ‘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
Bagian berjudul “rejectCall”Tolak panggilan masuk.
Harus dipanggil dalam respons terhadap sebuah ‘callInviteReceived’ event.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});endCall
Salin ke clipboardJudul bagian “endCall”
Bubarkan panggilan aktif.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active callawait CapacitorTwilioVoice.endCall({});
// End a specific callawait CapacitorTwilioVoice.endCall({ callSid: 'CA1234567890abcdef'});muteCall
Salin ke clipboardJudul bagian “muteCall”
Matikan atau aktifkan mikrofon selama panggilan aktif.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: true});
// Unmute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: false});setSpeaker
Salin ke clipboardJudul bagian “setSpeaker”
Jika diaktifkan, audio akan diarahkan melalui speaker perangkat daripada earpiece.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
Bagian berjudul “getCallStatus”Dapatkan status saat ini dari panggilan aktif.
Fungsi ini menyediakan informasi waktu nyata tentang status panggilan, status bisu, status menahan, dan identifikasi panggilan.
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
Bagian berjudul “checkMicrophonePermission”Periksa apakah izin mikrofon telah diberikan.
Fungsi ini tidak meminta izin, melainkan hanya memeriksa status izin saat ini.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.checkMicrophonePermission();if (!result.granted) { console.log('Microphone permission not granted');}requestMicrophonePermission
Bagian berjudul “requestMicrophonePermission”Minta izin mikrofon dari pengguna.
Pada iOS dan Android, ini akan menampilkan dialog izin sistem jika izin belum diberikan. Jika izin sebelumnya ditolak, pengguna mungkin perlu memberikan izin di pengaturan sistem.
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');}Referensi Tipe
Bagian berjudul “Referensi Tipe”CallInvite
Bagian berjudul “Panggilan Undangan”Capacitor plugin untuk mengintegrasikan fungsi suara Twilio ke dalam aplikasi mobile.
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>;}Sumber Kebenaran
Bagian berjudul “Sumber Kebenaran”Halaman ini dihasilkan dari plugin’s src/definitions.tsRe-run sinkronisasi ketika publik API berubah di atas