Saltar al contenido

iOS

GitHub

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

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

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,
},
});

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

  • 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

Este plugin no registra PushKit ni APNs para usted.

Para un sonido de timbre en segundo plano o estado de terminación en iOS, su aplicación de anfitrión 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 el evento de timbre 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 al micrófono o cámara, aún deben pertenecer a 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.

Mantén estas responsabilidades en tu capa de aplicación

Sección titulada “Mantén estas responsabilidades en tu 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 complemento emite callDeclined, callEnded, o callTimedOut

Si estás utilizando iOS para planificar el trabajo de plugin nativo, conectalo con Usando @capgo/capacitor-kit-de-llamada-incompleta para la capacidad nativa en Usando @capgo/capacitor-kit-de-llamada-incompleta, Directorio de Plugins de Capgo para el flujo de trabajo del producto en Directorio de Plugins de Capgo, Plugins de Capacitor por Capgo para el detalle de implementación en Plugins de Capacitor por Capgo, Agregar o Actualizar Plugins para el detalle de implementación en Agregar o Actualizar Plugins, y Alternativas de Plugins de Empresa de Ionic para el flujo de trabajo del producto en Alternativas de Plugins de Empresa de Ionic.