Zum Inhalt springen

Getting Started

GitHub

Installation

Installation

Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie den Capgo-Fähigkeiten Ihre AI-Tool mithilfe der folgenden Befehl hinzu:

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

  1. Das Paket installieren

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

    Terminal-Fenster
    bunx cap sync
  3. 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.

Diese Erweiterung besitzt nur die native Anruffeinleitung. Ihre App besitzt noch immer den Transport, die Authentifizierung und die tatsächliche Medien-Sitzung.

Die gemeinsame Produktionsmuster ist:

  1. Ihr Backend oder Ihr Aufruf-SDK sendet ein Ringereignis.
  2. Ihre App ruft showIncomingCall().
  3. Die Erweiterung präsentiert die native Anruffeinleitung.
  4. callAccepted Ihre App wird gebeten, dem tatsächlichen Raum oder der VoIP-Sitzung beizutreten.
  5. callDeclined, callEndedoder callTimedOut erzählt Ihrem App, dass sie sich von Remote-Zustand befreien soll.
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ögliche Antwort, wenn die Zeitüberschreitung nicht beantwortet wird
  • extra: beliebige JSON-Werte, die im Listener-Payload wiederholt werden
  • android.channelId und android.channelName: Einstellung für Android-Notification-Channel
  • android.showFullScreen: Anfrage zum Android-Full-Screen-Incoming-Call-Activity
  • ios.handleType: wählen generic, phoneNumber, oder emailAddress für 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: Der Benutzer hat aus der native Benutzeroberfläche akzeptiert
  • callDeclined: Der Benutzer hat vor dem Beitritt abgelehnt
  • callEnded: Ihr App oder die Plattform beendete den verfolgten Anruf
  • callTimedOut: Die Anrufung blieb unbeantwortet bis zu dem Zeitpunkt timeoutMs

Jeder Ereignis trägt das normalisierte call Payload und Ihr ursprüngliches extra Objekt.

  • Lesen Sie die iOS-Leitfaden vor der Verbindung von CallKit in einen PushKit- oder APNs-Fluss.
  • Lesen Sie die Android-Leitfaden vor der Verwendung von volldarstellenden Intents auf Android 14 und später.
  • Web wird nicht unterstützt.

Wenn Sie Getting Started Getting Started zur Planung Ihres Dashboards und API-Operationen verwenden, verbinden Sie es mit Mit @capgo/capacitor-eingehendes-Anruf-Kit für die native Fähigkeit in Mit @capgo/capacitor-eingehendes-Anruf-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.