Pembukaan
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-incoming-call-kit`
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/incoming-call-kit/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 Setup Bantu AI kami 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-incoming-call-kit` 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:
-
Instal paket
Tampilan jendela terminal bun add @capgo/capacitor-incoming-call-kit -
Sinkronkan proyek native
Jendela terminal bunx cap sync -
Pilih sumber ring Anda Putuskan apakah event panggilan masuk berasal dari backend Anda, sebuah SDK seperti Twilio atau Stream, atau jalur push native seperti FCM atau PushKit.
Bagaimana integrasi ini berfungsi
Bab berjudul “Bagaimana integrasi ini berfungsi”Plugin ini hanya mengelola presentasi panggilan masuk native. Aplikasi Anda masih mengelola transportasi, autentikasi, dan sesi media yang sebenarnya.
Polanya produksi yang umum adalah:
- Backend atau SDK Anda yang mengeluarkan event ring.
- Aplikasi Anda menghubungi
showIncomingCall(). - Plugin ini menampilkan UI panggilan masuk asli.
callAcceptedmenginformasikan aplikasi Anda untuk bergabung dengan ruang atau sesi VoIP yang sebenarnya.callDeclined,callEnded, ataucallTimedOutmenginformasikan aplikasi Anda untuk membersihkan status remote.
Integrasi minimal
Bagian berjudul “Integrasi minimal”import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();await IncomingCallKit.requestFullScreenIntentPermission();
await IncomingCallKit.addListener('callAccepted', async ({ call }) => { console.log('Accepted', call.callId, call.extra); // Start or join your real call session here.});
await IncomingCallKit.addListener('callDeclined', ({ call }) => { console.log('Declined', call.callId); // Tell your backend or SDK that the user declined.});
await IncomingCallKit.addListener('callTimedOut', ({ call }) => { console.log('Timed out', call.callId); // Clear ringing state in your backend or SDK.});
await IncomingCallKit.showIncomingCall({ callId: 'call-42', callerName: 'Ada Lovelace', handle: '+39 555 010 020', appName: 'Capgo Phone', hasVideo: true, timeoutMs: 45_000, extra: { roomId: 'room-42', callerUserId: 'user_ada', }, android: { channelId: 'calls', channelName: 'Incoming Calls', showFullScreen: true, }, ios: { handleType: 'phoneNumber', },});Opsi penting
Bagian berjudul “Opsi penting”callId: identifikasi stabil yang digunakan kembali kemudian denganendCall()timeoutMs: waktu tunggu tidak terjawab dengan upaya terbaikextra: JSON arbitrer yang dipantulkan kembali dalam payload pendengarandroid.channelIddanandroid.channelName: Pengaturan saluran notifikasi Androidandroid.showFullScreen: meminta aktivitas panggilan masuk layar penuh Androidios.handleType: pilihgeneric,phoneNumber, atauemailAddressuntuk Kit Panggilan
Pengelolaan panggilan aktif
Salin ke clipboardconst { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Salin ke clipboard
Tampilan UI asli telah ditampilkan dengan suksesincomingCallDisplayedPengelolaan panggilan aktifcallAccepted: pengguna diterima dari antarmuka nativecallDeclined: pengguna menolak sebelum bergabungcallEnded: aplikasi Anda atau platform mengakhiri panggilan yang diikuticallTimedOut: panggilan tetap tidak dijawab sampaitimeoutMs
Setiap event membawa payload yang dinormalisasi dan objek asli Anda. call Catatan Platform extra Bab berjudul “Catatan Platform”
Baca
: panduan iOS- sebelum menghubungkan CallKit ke dalam aliran PushKit atau APNs. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
- Read the Baca Panduan Android guide
- Petunjuk Android
sebelum mengandalkan intents layar penuh pada Android 14 dan seterusnya.
Web tidak didukung.Teruskan dari Getting Started Teruskan dari Getting Started to plan dashboard and API operations, connect it with Using @capgo/capacitor-incoming-call-kit for the native capability in Using @capgo/capacitor-incoming-call-kit, Menggunakan @API/__CAPGO_KEEP_1__-incoming-call-kit untuk kemampuan asli dalam Menggunakan @API/__CAPGO_KEEP_1__-incoming-call-kit, untuk detail implementasi di API Panduan Umum, Pendahuluan untuk detail implementasi di Pendahuluan, API Kunci untuk detail implementasi di API Kunci, dan Peralatan untuk detail implementasi di Peralatan.