Saltar al contenido

iOS

En iOS, el plugin informa el llamado entrante a CallKit. Eso te da la hoja de llamada entrante del sistema y acciones de llamada estándar sin tener que construir tu propia interfaz de llamada nativa.

requestPermissions() se resuelve inmediatamente en iOS porque CallKit mismo no requiere un diálogo de permiso de ejecución.

Ejemplo básico

Ejemplo básico
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,
},
});

Tipos de manejadores

Ejemplo básico

Usar ios.handleType para controlar cómo CallKit formatea el manejador:

  • generic para identificadores específicos de la aplicación
  • phoneNumber para números de teléfono reales
  • emailAddress para identidades basadas en correo electrónico

Llamadas entrantes de fondo

Ejemplo básico

Esta plugin no se encarga de registrar PushKit o APNs para usted.

Para obtener sonido de fondo o sonido de estado terminado en iOS, su aplicación de host todavía necesita la configuración de empuje nativa de Apple que coincida con su estrategia de transporte:

  1. Habilite las Notificaciones de empuje cuando su transporte utilice la entrega de empuje de Apple.
  2. Habilite el modo de fondo de voz sobre IP cuando su aplicación utilice un flujo de empuje de VoIP.
  3. Envíe el evento de llamada entrante a su aplicación e invoque este plugin tan pronto como esté disponible la Capacitor puente.

Si su evento de sonido existe solo en JavaScript, obtendrá la mejor experiencia mientras la aplicación ya está ejecutándose en segundo plano.

CallKit no reemplaza su SDK. Si la sesión de llamada real utiliza acceso a micrófono o cámara, los descripciones de uso todavía deben estar en su aplicación:

<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>

Añada solo las claves que su flujo de llamada real necesita.

Mantenga estas responsabilidades en su capa de aplicación

Sección titulada “Mantenga estas responsabilidades en su capa de aplicación”
  • Registro de PushKit y APNs
  • Autenticación y refresco de token
  • Unirse a la sala real o sesión de VoIP después de callAccepted
  • Finalizar o reconciliar el estado de llamada remota cuando el plugin emite callDeclined, callEndedo callTimedOut