Zum Inhalt springen

Getting Started

GitHub

Sie können unsere AI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten Ihrem KI-Tool hinzu, indem Sie den folgenden Befehl ausführen:

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

Benutzen Sie dann die folgende Anweisung:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.

Wenn Sie eine manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und die darunter angegebenen Plattform-spezifischen Anweisungen befolgen.

  1. Install die Pakete

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

    Terminalfenster
    bunx cap sync
  3. Wähle deine Klingelquelle Entscheide, ob das eingehende Anrufereignis von deinem Backend, einem SDK wie Twilio oder Stream, oder einem nativen Push-Pfad wie FCM oder PushKit kommt.

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

Die häufigste Produktionsmuster ist:

  1. Ihr Backend oder Ihr Anruf SDK sendet ein Klingelereignis.
  2. Ihr App ruft showIncomingCall().
  3. Der Plugin präsentiert native Eingangsanruf-UI.
  4. callAccepted erzählt Ihrem App, dem tatsächlichen Raum oder VoIP-Sitzung beizutreten.
  5. callDeclined, callEndedoder callTimedOut erzählt Ihrem App, die remote State 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 wird später wieder verwendet endCall()
  • timeoutMs: Best-Effort Antwortzeitenüberschreitung
  • extra: beliebige JSON-Daten werden im Listener-Payload zurückgegeben
  • android.channelId und android.channelName: Android-Notification-Kanal-Einstellung
  • android.showFullScreen: Anfrage zum Android-Full-Screen-Eingangsanruf-Aktivität
  • 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',
});
  • incomingCallDisplayedDie native UI wurde erfolgreich angezeigt.
  • callAcceptedDer Benutzer wurde vom native UI akzeptiert.
  • callDeclined: Der Benutzer hat vor dem Beitritt abgelehnt
  • callEnded: Ihre App oder die Plattform beendete die verfolgte Anrufung
  • callTimedOut: Die Anrufung blieb unbeantwortet bis timeoutMs

: Jedes Ereignis trägt das normalisierte call : und Ihr Originalobjekt. extra object.

: Abschnitt mit dem Titel “Plattformhinweise”

Section titled “Platform notes”
  • context iOS-Leitfaden wirken Sie CallKit vor der Verkabelung in einen PushKit- oder APNs-Fluss.
  • Lesen Sie den Android-Anleitung vor der Verwendung von Vollbild-Intents auf Android 14 und später.
  • Web wird nicht unterstützt.

Wenn Sie Capgo verwenden Getting Started um das Dashboard und die API-Operationen zu planen, verbinden Sie es mit Verwendung von @capgo/capacitor-eingehendes-Anruf-Kit Für die native Fähigkeit in @capgo/capacitor-eingehende-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.