Getting Started
Kopieren Sie einen Einrichtungshinweis mit den Installationsanweisungen und der vollständigen Markdown-Guideline für dieses 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.
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 den folgenden Prompt:
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 das Plugin, indem Sie die folgenden Befehle ausführen und die Plattform-spezifischen Anweisungen unten befolgen:
-
Installieren Sie das Paket
Terminal-Fenster bun add @capgo/capacitor-incoming-call-kit -
Synchronisiere 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 eingehende Anrufpräsentation. Ihre App besitzt jedoch den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.
Die häufigste Produktionsmuster ist:
- Ihr Backend oder Ihr Aufruf SDK sendet ein Ringereignis.
- Ihre App ruft
showIncomingCall(). - Der Plugin präsentiert eine native Eingangsanruf-UI.
callAcceptederzählt Ihrem App, sich dem tatsächlichen Raum oder VoIP-Sitzung anzuschließen.callDeclined,callEnded, odercallTimedOuterzählt Ihrem App, die Remote-Zustände 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 Identifier, der später wieder verwendet wird.endCall()timeoutMs: bestmöglicher Antwortverzögerung bei unbeantworteten Anfragen.extra: beliebige JSON-Werte, die im Listener-Payloads zurückgegeben werden.android.channelIdundandroid.channelName: Android-Notifikationskanal-Einstellungandroid.showFullScreen: fordert die Android-Full-Screen-Eingangsanrufaktivität anios.handleType: wählengeneric,phoneNumber, oderemailAddressfür CallKit
Aktive Anrufe verwalten
Kopierenconst { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});: Die native UI wurde erfolgreich angezeigt
Aktive Anrufe verwaltenincomingCallDisplayedEventmodellcallAccepted: Benutzer akzeptiert aus der native UIcallDeclined: Benutzer ablehnte vor dem BeitrittcallEnded: Ihre App oder die Plattform beendete das verfolgte GesprächcallTimedOut: Das Gespräch blieb unbeantwortet bistimeoutMs
: Jeder Ereignis trägt das normalisierte call : und Ihr Original extra : Objekt.
: 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).
- Lesen Sie den Android-Leitfaden vor der Verwendung von Vollbild-Intents auf Android 14 und später.
- Web wird nicht unterstützt.
Fortsetzen Sie mit Getting Started
Sektion: Fortsetzen Sie mit Getting StartedWenn Sie das Getting Started zur Planung von Dashboard und API-Operationen verwenden, verbinden Sie es mit Mit @capgo/capacitor-incoming-call-kit Für die native Fähigkeit in Mit @capgo/capacitor-incoming-call-kit, API-Übersicht zur Implementierungsdetail in API Übersicht Einführung zur Implementierungsdetail in Einführung API Schlüssel zur Implementierungsdetail in API Schlüssel und Geräte zur Implementierungsdetail in Geräte.