Mulai Menggunakan
Copy 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.
Instalasi
Bab berjudul “Instalasi”Anda dapat menggunakan Pengaturan Bantu AI untuk menginstal plugin. Tambahkan Capgo kemampuan ke alat AI Anda menggunakan perintah berikut:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLalu gunakan prompt berikut:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-twilio-voice` plugin in my project.Jika Anda lebih suka Pengaturan Manual, instal plugin dengan menjalankan perintah-perintah berikut dan ikuti instruksi spesifik platform di bawah ini:
bun add @capgo/capacitor-twilio-voicebunx cap syncImport
Bab berjudul “Import”import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';API Pengantar
Bab berjudul “API Pengantar”login
Bab berjudul “login”Autentikasi pengguna dengan Twilio Voice menggunakan token akses.
Token akses harus dihasilkan pada 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
Bab berjudul “logout”Keluar dari akun saat ini dan me-rekam ulang dari Twilio Voice.
Langkah ini akan memutuskan koneksi aktif dan menghentikan perangkat dari menerima notifikasi panggilan masuk baru.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
const result = await CapacitorTwilioVoice.logout();console.log('Logout successful:', result.success);isLoggedIn
Bab 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
Bab berjudul “makeCall”Mulai panggilan keluar ke nomor telepon atau klien.
Pengguna harus terdaftar 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
Bab berjudul “acceptCall”Terima panggilan masuk.
Panggilan 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.
Panggilan ini harus dipanggil dalam respons terhadap event ‘callInviteReceived’. Pengirim akan mendengar sinyal penuh atau dialihkan ke kotak suara.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => { if (shouldRejectCall(data.from)) { await CapacitorTwilioVoice.rejectCall({ callSid: data.callSid }); }});endCall
Bagian berjudul “endCall”Selesai panggilan aktif.
Jika callSid tidak disediakan, ini akan menutup panggilan aktif saat ini.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// End the current active callawait CapacitorTwilioVoice.endCall({});
// End a specific callawait CapacitorTwilioVoice.endCall({ callSid: 'CA1234567890abcdef'});muteCall
Bagian berjudul “muteCall”Mengaktifkan atau menonaktifkan mikrofon selama panggilan aktif.
When muted, orang lain tidak akan mendengar suara dari mikrofon Anda.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Mute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: true});
// Unmute the microphoneawait CapacitorTwilioVoice.muteCall({ muted: false});setSpeaker
Bab berjudul “setSpeaker”Aktifkan atau nonaktifkan mode speakerphone.
Ketika diaktifkan, suara akan dialihkan melalui pengeras suara perangkat daripada telinga.
import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';
// Enable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: true});
// Disable speakerphoneawait CapacitorTwilioVoice.setSpeaker({ enabled: false});getCallStatus
Bab berjudul “getCallStatus”Dapatkan status panggilan aktif saat ini.
Ini memberikan informasi real-time tentang status panggilan, status mute, status hold, 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
Bab berjudul “checkMicrophonePermission”Periksa apakah izin mikrofon telah diberikan.
Tidak meminta izin, tetapi 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 “Type Reference”CallInvite
Bagian berjudul “CallInvite”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
Judul Bagian: ‘Sumber Kebenaran’Halaman ini dibuat dari plugin’s src/definitions.tsRe-run sinkronisasi ketika API publik berubah di atas.
Teruskan dari Getting Started
Judul Bagian: ‘Teruskan dari Getting Started’Jika Anda menggunakan Mulai Menggunakan untuk merencanakan dashboard dan API operasi, hubungkannya dengan Menggunakan @capgo/capacitor-twilio-suara untuk kemampuan asli di Menggunakan @capgo/capacitor-twilio-suara, API Ringkasan untuk detail implementasi di API Ringkasan, Introduction untuk detail implementasi di Introduction Kunci API untuk detail implementasi di Kunci API dan Peralatan Untuk detail implementasi di perangkat.