Getting Started
Kopieren Sie einen Setup-Prompt mit den Installationsanweisungen und der vollständigen Markdown-Guideline für diesen Plugin.
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.
-
Install das Paket
Terminalfenster bun add @capgo/capacitor-incoming-call-kit -
Synchronisiere native Projekte
Terminalfenster bunx cap sync -
Wähle deine Ringquelle Entscheide, ob das eingehende Anrufereignis von deinem Backend, einem SDK wie Twilio oder Stream, oder einem nativen Push-Path wie FCM oder PushKit kommt.
Wie die Integration zusammenpasst
Abschnitt mit dem Titel “Wie die Integration zusammenpasst”Dieser Plugin besitzt nur die native Anrufpräsentation. Deine App besitzt noch immer den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.
Die häufigste Produktionsmuster ist:
- Ihr Backend oder die Anwendung ruft SDK aus und sendet ein Ringereignis.
- Ihre App ruft
showIncomingCall(). - Das Plugin präsentiert eine native Eingangsanruf-UI.
callAcceptederzählt Ihrer App, sich dem tatsächlichen Raum oder der VoIP-Sitzung anzuschließen.callDeclined,callEnded, odercallTimedOuterzählt Ihrer App, das Remote-Zustand zu bereinigen.
Minimaler Aufwand
Abschnitt mit dem Titel “Minimaler Aufwand”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', },});Wichtige Optionen
Abschnitt mit dem Titel “Wichtige Optionen”callId: stabiler Identifier, der später wieder verwendet wird.endCall()timeoutMs: Timeout auf bestem Versuchextra: JSON wird willkürlich im Listener-Payloads zurückgegebenandroid.channelIdundandroid.channelName: Einstellungen für Android-Notification-Kanäleandroid.showFullScreen: fordert die Android-Vollbildschirm-Eingangsaktivität anios.handleType: wählen Siegeneric,phoneNumber, oderemailAddresszur CallKit
Aktive Anrufe verwalten
Abschnitt mit dem Titel „Aktive Anrufe verwalten“const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Event-Modell
Abschnitt mit dem Titel “Event-Modell”incomingCallDisplayed: Die native Benutzeroberfläche wurde erfolgreich angezeigtcallAccepted: Der Benutzer hat aus der native Benutzeroberfläche akzeptiertcallDeclined: Der Benutzer hat vor dem Beitritt abgelehntcallEnded: Ihre App oder die Plattform beendete das verfolgte GesprächcallTimedOut: Das Gespräch blieb unbeantwortet bistimeoutMs
Jedes Ereignis trägt das normalisierte call Datenpaket und Ihr Original extra Objekt.
Plattformhinweise
Abschnitt mit dem Titel “Plattformhinweise”- Lesen Sie die iOS-Leitfaden Bevor Sie CallKit in einen PushKit- oder APNs-Fluss einbinden.
- Lese den Android-Leitfaden Bevor Sie sich auf volle Bildschirm-Intents auf Android 14 und später verlassen.
- Web wird nicht unterstützt.
Fahren Sie mit Getting Started fort.
Wenn Sie "Fahren Sie mit Getting Started fort" verwenden, um das Dashboard und __CAPGO_KEEP_0__-Operationen zu planen, verbinden Sie es mitVerwenden Sie @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-eingehendes-Anruf-Kit Bevor Sie CallKit in einen PushKit- oder APNs-Fluss einbinden, lesen Sie diese Anleitung. to plan dashboard and API operations, connect it with Using @capgo/capacitor-incoming-call-kit für die native Fähigkeit in Verwendung von @capgo/capacitor-eingehendes-Anruf-Kit, API Übersicht für die Implementierungsdetails in API Übersicht, Einführung für die Implementierungsdetails in Einführung, API Schlüssel für die Implementierungsdetails in API Schlüssel, und Geräte für die Implementierungsdetails in Geräte.