Getting Started
Ein Setup-Prompt mit den Installations-Schritten und der vollständigen Markdown-Guideline für dieses Plugin kopieren.
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.
Installation
Abschnitt mit dem Titel „Installation“Sie können unsere AI-gestützte Einrichtung verwenden, um den Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem AI-Tool hinzu, indem Sie die folgende Befehl ausführen:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsVerwenden Sie dann die folgende Anfrage:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie den Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten angegebenen Plattform-spezifischen Anweisungen:
-
Installieren Sie das Paket
Terminal-Fenster bun add @capgo/capacitor-incoming-call-kit -
Synchronisiere native Projekte
Terminalfenster bunx cap sync -
Wählen Sie Ihre Klingelquelle Beschließen Sie, ob das eingehende Anrufereignis von Ihrem Backend, einem SDK wie Twilio oder Stream oder einem native Push-Path wie FCM oder PushKit stammt.
Wie sich die Integration zusammensetzt
Abschnitt mit dem Titel “Wie sich die Integration zusammensetzt”Diese Erweiterung besitzt nur die native eingehende Anrufpräsentation. Ihr App besitzt noch immer Transport, Authentifizierung und die tatsächliche Medien-Sitzung.
Die häufigste Produktionsmuster ist:
- Ihr Backend oder Ihr Anruf-SDK sendet ein Klingelereignis.
- Ihre App ruft
showIncomingCall(). - Das Plugin präsentiert eine native Anrufer-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 Aufbau
Abschnitt mit dem Titel „Minimaler Aufbau“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 Identifikator, der später wiederholt wirdendCall()timeoutMs: bestmögliche Antwort ohne Timeoutextra: beliebige JSON-Werte, die im Listener-Payload zurückgegeben werdenandroid.channelIdundandroid.channelName: Android-Notifikationskanal-Einstellungandroid.showFullScreen: fordert die Android-Full-Screen-Eingangsanrufaktivität anios.handleType: wählengeneric,phoneNumber, oderemailAddressfür 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: Benutzer akzeptiert aus der native UIcallDeclined: Benutzer ablehnt vor dem BeitrittcallEnded: Ihre App oder die Plattform beendete die verfolgte AnrufcallTimedOut: Die Anruf blieb unbeantwortet bistimeoutMs
: Jeder Ereignis trägt das normalisierte call : und Ihr Original extra : Plattformhinweise
: Abschnitt mit dem Titel “Plattformhinweise”
: Lesen Sie das- context HTML text fragment from a longer Capgo UI string (parent key `read_the_style_guide`). Page/area: Capgo marketing website. Role: Website copy sentence. Seen in: page contributing.astro. Message key `read_the_style_guide` (Read The Style Guide). : iOS-Leitfaden zur Einbindung von CallKit in einen PushKit- oder APNs-Flow.
- Lesen Sie das Android-Anleitung bevor Sie sich auf vollbildschirmige Intents auf Android 14 und später verlassen.
- Web wird nicht unterstützt.
Fortsetzen Sie mit Getting Started
Abschnitt: Fortsetzen Sie mit Getting StartedWenn Sie das Getting Started zur Planung Ihres Dashboards und API-Operationen verwenden, verbinden Sie es mit Verwenden Sie @capgo/capacitor-incoming-call-kit Verwenden Sie @capgo/capacitor-incoming-call-kit für die native Fähigkeit in Verwenden Sie @capgo/capacitor-incoming-call-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.