Anleitung
Eine Einrichtungsanleitung mit den Installationsanweisungen und der vollständigen Markdown-Anleitung 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.
-
Installieren Sie das Paket
Terminal-Fenster bun add @capgo/capacitor-incoming-call-kit -
Synchronisieren Sie native Projekte
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 Anrufform. 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 Anrufform.
callAcceptedIhre App wird gebeten, dem tatsächlichen Raum oder der VoIP-Sitzung beizutreten.callDeclined,callEndedodercallTimedOutErzählt Ihrem App, dass sie sich von Remote-Zustand befreien soll.
Minimaler Integration
Abschnitt mit dem Titel „Minimaler Integration“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: bestmögliche Antwort, wenn keine Antwort gegeben wirdextra: beliebige JSON-Daten werden im Listener-Payload wiederholtandroid.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 Anrufbeantwortung 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.
- Web wird nicht unterstützt.