Langsung ke konten utama
@capgo/capacitor-twilio-voice Komunikasi Open source

Twilio Voice plugin Capacitor

Lakukan dan terima panggilan VoIP dengan Twilio Voice untuk fitur panggilan dalam aplikasi

Instal

bun add @capgo/capacitor-twilio-voice bunx cap sync
npm, pnpm atau yarn
  • npm install @capgo/capacitor-twilio-voice
  • pnpm add @capgo/capacitor-twilio-voice
  • yarn add @capgo/capacitor-twilio-voice

Panduan

Cara menggunakan Twilio Voice di Capacitor

Menggunakan @capgo/capacitor-twilio-voice

Integrasikan SDK Twilio Voice ke dalam Capacitor

Instal

bun add @capgo/capacitor-twilio-voice
bunx cap sync

bunx cap sync menyalin code native plugin ke dalam proyek native Anda. Jalankan kembali setiap kali melakukan upgrade plugin.

Impor

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

Sekilas tentang API

Metode Deskripsi
login Autentikasi user ke Twilio Voice menggunakan access token.
logout Logout user saat ini dan unregister dari Twilio Voice.
isLoggedIn Cek apakah user sedang login dan memiliki access token yang valid.
makeCall Mulai panggilan keluar ke nomor telepon atau client.
acceptCall Terima panggilan masuk.
rejectCall Tolak panggilan masuk.
endCall Akhiri panggilan yang sedang aktif.
muteCall Mute atau unmute mikrofon saat panggilan aktif.
setSpeaker Aktifkan atau nonaktifkan mode speakerphone.
getCallStatus Dapatkan status panggilan yang sedang aktif.
checkMicrophonePermission Cek apakah izin mikrofon sudah diberikan.
requestMicrophonePermission Minta izin mikrofon kepada pengguna.

Contoh

login()

Autentikasi pengguna ke Twilio Voice menggunakan access token.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

const result = await CapacitorTwilioVoice.login({
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
});
console.log('Login successful:', result.success);

logout()

Logout pengguna saat ini dan unregister dari Twilio Voice.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

const result = await CapacitorTwilioVoice.logout();
console.log('Logout successful:', result.success);

isLoggedIn()

Periksa apakah pengguna sedang login dan memiliki access token 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()

Lakukan panggilan keluar ke nomor telepon atau client.

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

acceptCall()

Terima panggilan masuk.

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()

Tolak panggilan masuk.

import { CapacitorTwilioVoice } from '@capgo/capacitor-twilio-voice';

CapacitorTwilioVoice.addListener('callInviteReceived', async (data) => {
  if (shouldRejectCall(data.from)) {
    await CapacitorTwilioVoice.rejectCall({
      callSid: data.callSid
    });
  }
});

Tabel di atas mencantumkan 12 metode inti. Dokumentasi mengenai helper Listener, version, serta kontrak lengkap dari setiap metode tersedia di repositori GitHub.

Mendengarkan event

addListener mengembalikan sebuah handle. Panggil handle.remove() saat layar di-unmount, atau CapacitorTwilioVoice.removeAllListeners() untuk menghapus semua listener.

Referensi lengkap

Lanjutkan dari Menggunakan @capgo/capacitor-twilio-voice

Jika Anda menggunakan Menggunakan @capgo/capacitor-twilio-voice untuk merencanakan pekerjaan plugin native, hubungkan dengan @capgo/capacitor-twilio-voice untuk detail implementasi di @capgo/capacitor-twilio-voice, Panduan Memulai untuk detail implementasi di Getting Started, Direktori Plugin Capgo untuk alur kerja produk di Direktori Plugin Capgo, Plugin Capacitor oleh Capgo untuk detail implementasi di Plugin Capacitor oleh Capgo, dan Menambahkan atau Memperbarui Plugin untuk detail implementasi di bagian Menambahkan atau Memperbarui Plugin.

FAQ

FAQ plugin Twilio Voice

Bagaimana cara install plugin Twilio Voice di aplikasi Capacitor?

Jalankan "bun add @capgo/capacitor-twilio-voice" (atau "npm install @capgo/capacitor-twilio-voice"), lalu jalankan "bunx cap sync" agar proyek iOS dan Android mendeteksi code native. Import dari "@capgo/capacitor-twilio-voice" di dalam code aplikasi Anda.

Apakah @capgo/capacitor-twilio-voice bisa digunakan dengan React, Vue, dan Angular?

Ya. Twilio Voice adalah package Capacitor, jadi bisa digunakan dengan framework web apa pun yang berjalan di dalam Capacitor, termasuk Ionic, React, Vue, Angular, Svelte, dan JavaScript biasa.

Versi Capacitor mana yang didukung oleh @capgo/capacitor-twilio-voice?

Plugin Capgo mengikuti versi mayor Capacitor: gunakan versi mayor plugin yang sesuai dengan versi mayor Capacitor Anda (contoh: plugin v8 dengan Capacitor 8). Tabel kompatibilitas di README GitHub mencantumkan versi yang masih di-maintain.

Apakah @capgo/capacitor-twilio-voice gratis dan open source?

Ya. Source code tersedia secara publik di GitHub pada https://github.com/Cap-go/capacitor-twilio-voice/ dan package ini gratis untuk diinstall dari npm. Bug report dan pull request sangat kami terima.

Bisakah saya update code yang menggunakan Twilio Voice tanpa review App Store?

Instalasi atau upgrade plugin akan mengubah native code, jadi butuh build store baru. Setelah itu, perubahan JavaScript, HTML, dan CSS yang memanggil plugin bisa langsung dikirim lewat live updates Capgo.

Rilis perubahan Twilio Voice tanpa menunggu review aplikasi

Setelah plugin ada di build store Anda, live updates Capgo akan mengirim perubahan JavaScript, HTML, dan CSS ke pengguna dalam hitungan menit.

Mulai dengan Capgo