Getting Started
Copy sebuah 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.
-
Siap untuk dipasang dengan AI
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 bersama
Bagian berjudul “Bagaimana integrasi ini berfungsi bersama”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 Anda atau SDK panggilan memancarkan event ring.
- Aplikasi Anda memanggil
showIncomingCall(). - Plugin menampilkan UI panggilan masuk asli.
callAcceptedmenginformasikan aplikasi Anda untuk bergabung dengan ruang nyata atau sesi VoIP.callDeclined,callEndedataucallTimedOutmenginformasikan aplikasi Anda untuk membersihkan status remote.
Integrasi minimal
Judul bagian “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', },});Pilihan penting
Judul bagian “Pilihan penting”callId: identifikasi stabil yang digunakan kembali kemudian denganendCall()timeoutMs: batasan waktu tidak terjawab dengan upaya terbaikextraDitampilkan secara acak dalam pesan balasan penggunaandroid.channelIddanandroid.channelNamePengaturan saluran notifikasi Androidandroid.showFullScreenMinta aktivitas panggilan masuk layar penuh Androidios.handleTypePilihgeneric,phoneNumber, atauemailAddressuntuk CallKit
Pengelolaan panggilan aktif
Judul bagian “Pengelolaan panggilan aktif”const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Model kejadian
Judul bagian “Model kejadian”incomingCallDisplayed: UI native ditampilkan dengan suksescallAccepted: pengguna menerima dari UI nativecallDeclined: pengguna menolak sebelum bergabungcallEnded: aplikasi Anda atau platform mengakhiri panggilan yang sedang diikuticallTimedOut: panggilan tetap tidak dijawab sampaitimeoutMs
Setiap event membawa payload yang dinormalisasi dan objek asli Anda. call Catatan Platform extra Baca panduan iOS
Baca panduan iOS
Baca panduan iOS- Baca panduan iOS Baca panduan iOS sebelum menghubungkan CallKit ke dalam aliran PushKit atau APNs.
- Baca panduan Android sebelum bergantung pada intent layar penuh pada Android 14 dan seterusnya. Web tidak didukung.
- Lanjutkan dari Getting Started.
Jika Anda menggunakan Getting Started untuk merencanakan dashboard dan __CAPGO_KEEP_0__ operasi, hubungkannya dengan
Menggunakan @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-incoming-call-kituntuk kemampuan asli di Menggunakan @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-incoming-call-kit Read the 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, Ringkasan API untuk detail implementasi di Ringkasan API Pendahuluan untuk detail implementasi di Pendahuluan API Kunci untuk detail implementasi di API Kunci, dan Perangkat untuk detail implementasi di Perangkat.