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 Eingangsanruf-UI erstellen müssen.

requestPermissions() wird auf iOS sofort gelöst, weil CallKit selbst keine Laufzeitberechtigungsanfrage anfordert.

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 Sie ios.handleType um zu bestimmen, wie CallKit den Handle formatiert:

  • generic für Anwendungs-spezifische Identifikatoren
  • phoneNumber für echte Telefonnummern
  • emailAddress für E-Mail-basierte Identitäten

Diese Erweiterung registriert PushKit oder APNs nicht für Sie.

Für echte Hintergrund- oder beendete Zustandsklingeln auf iOS benötigt Ihre Host-App immer noch die native Apple-Push-Einrichtung, die Ihrem Transport-Strategie entspricht:

  1. Aktivieren Sie die 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 diese Erweiterung auf, sobald der Capacitor-Bridge verfügbar ist.

Wenn Ihr Klingelereignis 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 echte Rufablauf benötigt.

  • PushKit- und APNs-Registrierung
  • Authentifizierung und Token-Refresh
  • Beitreten Sie nach dem Joinen der echten Raum oder VoIP-Sitzung nach callAccepted
  • Beenden oder die Fernruf-Status abgleichen, wenn der Plugin ausgibt callDeclined, callEnded, oder callTimedOut

If Sie iOS verwenden iOS um native Plugin-Arbeit zu planen, verbinden Sie es mit Mit @capgo/capacitor-eingehendes-Anruf-Kit um die native Fähigkeit in Mit @capgo/capacitor-eingehendes-Anruf-Kit, Capgo Plugin-Verzeichnis um den Produktworkflow in Capgo Plugin-Verzeichnis, Capacitor Plugins von Capgo um die Implementierungsdetails in Capacitor Plugins von Capgo, Hinzufügen oder Aktualisieren von Plugins um die Implementierungsdetails in Hinzufügen oder Aktualisieren von Plugins, und Ionische Enterprise-Plugin-Alternativen für das Produktworkflow in Ionic Enterprise Plugin Alternativen.