Einstieg
Kopieren Sie eine Einrichtungsanweisung 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 die Paket
Terminalfenster bun add @capgo/capacitor-incoming-call-kit -
Synchronisiere native Projekte
Terminalfenster bunx cap sync -
Wählen Sie Ihre Ringquelle Bescheiden Sie, ob das eingehende Anrufereignis von Ihrem Backend, einem SDK wie Twilio oder Stream, oder einem nativen Push-Path wie FCM oder PushKit stammt.
Wie die Integration zusammenpasst
Abschnitt mit dem Titel “Wie die Integration zusammenpasst”Diese Erweiterung besitzt nur die native Anrufpräsentation. Ihr App besitzt noch immer den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.
Die häufige Produktionsmuster ist:
- Ihr Backend oder die Anruferin SDK sendet ein Ringereignis.
- Ihre App ruft
showIncomingCall(). - Das Plugin präsentiert eine native eingehende Anruf-UI.
callAcceptederzählt Ihrer App, sich dem tatsächlichen Raum oder der VoIP-Sitzung anzuschließen.callDeclined,callEndedodercallTimedOuterzählt Ihrer App, die remote State 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 wirdendCall()timeoutMs: Bemühungen, unbeantwortete Anfragen abzubrechenextra: beliebige JSON-Daten werden im Listener-Payload zurückgegebenandroid.channelIdundandroid.channelName: Einstellungen für Android-Benachrichtigungen anpassenandroid.showFullScreen: fordert die Android-Vollbildschirmaktivität für eingehende Anrufe anios.handleTypewählen Siegeneric,phoneNumber, oderemailAddressfür CallKit
Aktivitätsanrufe verwalten
Kopieren Sie in die Zwischenablageconst { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Managing active calls
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 Anleitung __CAPGO_KEEP_0__
- Beachten Sie, bevor Sie CallKit in einen PushKit- oder APNs-Fluss einbinden. Lesen Sie die Android Anleitung
- Beachten Sie, bevor Sie sich auf volle Bildschirm-Intents auf Android 14 und später verlassen.