Anleitung
Einen Setup-Befehl mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin erstellen.
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.
-
Das Paket installieren
Terminal-Fenster bun add @capgo/capacitor-incoming-call-kit -
Natives Projekte synchronisieren
Terminal-Fenster bunx cap sync -
Wählen Sie Ihre Ringquelle Beschließen 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 Anruffernsehung. Ihre App besitzt noch immer den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.
Die gemeinsame Produktionsmuster ist:
- Ihr Backend oder Ihr Aufruf-SDK sendet ein Ringereignis.
- Ihre App ruft
showIncomingCall(). - Die Erweiterung präsentiert die native Anruffernsehung.
callAcceptedIhre App wird gebeten, dem tatsächlichen Raum oder der VoIP-Sitzung beizutreten.callDeclined,callEndedodercallTimedOuterzählt Ihrem App, dass sie sich von Remote-Zustand trennen soll.
Minimalintegration
Abschnitt: Minimalintegrationimport { 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: Wichtige OptionencallId: stabiler Identifier, der später wieder verwendet wirdendCall()timeoutMs: bestmögliche Antwort, wenn keine Antwort kommtextra: beliebige JSON-Werte, die im Listener-Payload zurückgegeben werdenandroid.channelIdundandroid.channelName: Einstellung für Android-Notification-Kanäleandroid.showFullScreen: Anfrage zum Android-Full-Screen-Eingehenden-Anruf-Aktivitätios.handleType: wählengeneric,phoneNumber, oderemailAddressfür CallKit
Aktive Anrufe verwalten
Abschnitt „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 „Event-Modell“incomingCallDisplayed: Die native Benutzeroberfläche wurde erfolgreich angezeigtcallAccepted: Der Benutzer hat aus der native Benutzeroberfläche zugestimmtcallDeclined: Der Benutzer hat vor dem Beitritt abgelehntcallEnded: Ihr App oder die Plattform beendete den verfolgten AnrufcallTimedOut: Die Anrufverbindung blieb unbeantwortet bistimeoutMs
Jeder Ereignis trägt das normalisierte call Payload und Ihr ursprüngliches extra Objekt.
Plattformhinweise
Abschnitt mit dem Titel “Plattformhinweise”- Lesen Sie den iOS-Leitfaden Bevor Sie CallKit in einen PushKit- oder APNs-Flow einbinden.
- Lesen Sie den Android-Leitfaden Bevor Sie sich auf volle Bildschirm-Intents auf Android 14 und später verlassen.
- __CAPGO_KEEP_0__ ist nicht unterstützt.