Zum Inhalt springen

Getting Started

GitHub

Sie können unser AI-gestütztes Setup 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:

Terminal-Fenster
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

Verwenden 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 Installation bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten aufgeführten Plattform-spezifischen Anweisungen:

  1. Installieren Sie das Paket

    Terminal-Fenster
    bun add @capgo/capacitor-incoming-call-kit
  2. Synchronisiere native Projekte

    Terminal-Fenster
    bunx cap sync
  3. Wählen Sie Ihre Klingelquelle Entscheiden Sie, ob das eingehende Anrufereignis von Ihrem Backend, einem SDK wie Twilio oder Stream, oder einem nativen Push-Pfad wie FCM oder PushKit stammt.

Diese Erweiterung besitzt nur die native Anrufpräsentation. Ihr App besitzt jedoch den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.

Die häufigste Produktionsmuster ist:

  1. Ihr Backend oder Ihr Aufruf SDK sendet ein Klingelereignis.
  2. Ihre App ruft showIncomingCall().
  3. Der Plugin präsentiert eine native Eingangsanruf-UI.
  4. callAccepted erzählt Ihrer App, sich dem tatsächlichen Raum oder der VoIP-Sitzung anzuschließen.
  5. callDeclined, callEnded, oder callTimedOut erzählt Ihrer App, das Remote-Zustand zu bereinigen.
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',
},
});
  • callId: stabiler Identifier, der später wieder verwendet wird. endCall()
  • timeoutMs: bestmöglicher Zeitraum ohne Antwort.
  • extra: beliebige JSON-Werte, die im Listener-Payloads zurückgegeben werden.
  • android.channelId und android.channelName: Android-Notifikationskanal-Einstellung
  • android.showFullScreen: fordert die Android-Full-Screen-Eingangsanrufaktivität an
  • ios.handleType: wählen generic, phoneNumber, oder emailAddress zur CallKit
const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({
callId: 'call-42',
reason: 'remote-ended',
});
await IncomingCallKit.endAllCalls({
reason: 'session-reset',
});
  • incomingCallDisplayed: Die native Benutzeroberfläche wurde erfolgreich angezeigt
  • callAccepted: Benutzer akzeptiert aus der native UI
  • callDeclined: Benutzer ablehnte vor dem Beitritt
  • callEnded: Ihre App oder die Plattform beendete das verfolgte Gespräch
  • callTimedOut: Das Gespräch blieb unbeantwortet bis timeoutMs

: Jeder Ereignis trägt das normalisierte call : und Ihr Originalobjekt. extra : Plattformhinweise

: Abschnitt mit dem Titel “Plattformhinweise”

: Lesen Sie das

Fortsetzen Sie mit Getting Started

Abschnitt: Fortsetzen Sie mit Getting Started

Wenn Sie das Getting Started zur Planung von Dashboard und API-Operationen verwenden, verbinden Sie es mit Verwenden Sie @capgo/capacitor-incoming-call-kit für die native Fähigkeit in Verwenden Sie @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.