Zum Inhalt springen

iOS

GitHub

Auf iOS meldet das Plugin den eingehenden Anruf bei CallKit. Das gibt Ihnen das Systemeingehungsanrufblatt und standardisierte Anrufaktionen ohne, dass Sie Ihre eigene native eingehende Anruf-UI erstellen müssen.

requestPermissions() Auf iOS löst sich das Problem sofort, weil CallKit selbst keine Laufzeit-Berechtigungsdialoge erfordert.

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
handle: '+1 555 010 020',
ios: {
handleType: 'phoneNumber',
supportsHolding: true,
supportsDTMF: false,
},
});

Verwenden ios.handleType um zu bestimmen, wie CallKit den Handle formatiert:

  • generic zur Anwendungsspezifischen Identifikation
  • phoneNumber zur echten Telefonnummer
  • emailAddress zur E-Mail-basierten Identität

Dieses Plugin registriert PushKit oder APNs nicht für Sie.

Für echte Hintergrund- oder beendete Zustandsanrufungen auf iOS benötigt Ihre Host-App immer noch die native Apple-Push-Einrichtung, die Ihren Transportstrategie entspricht:

  1. Aktivieren Sie Push-Benachrichtigungen, wenn Ihr Transport Apple-Push-Lieferung verwendet.
  2. Aktivieren Sie die Voice over IP-Hintergrundmodus, wenn Ihre App eine VoIP-Push-Fluss verwendet.
  3. Liefern Sie das eingehende Anrufereignis an Ihre App und rufen Sie diesen Plugin auf, sobald die Capacitor-Brücke verfügbar ist.

Wenn Ihr Ringereignis nur in JavaScript existiert, erhalten Sie die beste Erfahrung, während die App bereits im Vordergrund läuft.

CallKit does not replace your media SDK. If the real call session uses microphone or camera access, those usage descriptions still belong in your app:

<key>NSMicrophoneUsageDescription</key>
<string>This app uses the microphone for calls.</string>
<key>NSCameraUsageDescription</key>
<string>This app uses the camera for video calls.</string>

Fügen Sie nur die Schlüssel hinzu, die Ihre reale Rufablauf benötigt.

Behalten Sie diese Verantwortlichkeiten in Ihrer App-Schicht

Abschnitt mit dem Titel „Behalten Sie diese Verantwortlichkeiten in Ihrer App-Schicht“
  • PushKit- und APNs-Registrierung
  • Authentifizierung und Token-Refresh
  • Beitritt zum realen Raum oder VoIP-Sitzung nach callAccepted
  • Beendigung oder Rekonfiguration der Remote-Anruf-Status, wenn der Plugin ausgibt callDeclined, callEnded, oder callTimedOut

Wenn Sie native Plugin-Arbeit mit iOS um native Plugin-Arbeit zu planen, verbinden Sie es mit Mit @capgo/capacitor-incoming-call-kit Für die native Fähigkeit in Mit @capgo/capacitor-incoming-call-kit, Capgo Plugin-Verzeichnis zur Produktionsablauf in Capgo Plugin-Verzeichnis Capacitor Plugins von Capgo zur Implementierungsdetail in Capacitor Plugins von Capgo Plugins hinzufügen oder aktualisieren zur Implementierungsdetail in Plugins hinzufügen oder aktualisieren, und Ionische Unternehmens-Plugin-Alternativen für das Produktworkflow in Ionic Enterprise Plugin Alternativen.