Pular al contenido

iOS

GitHub

En iOS, el plugin informa la llamada 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

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

Includes install, sync, and the source markdown guide.

Sección titulada “Tipos de manejadores”

Use 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

Este plugin no registra PushKit ni APNs para usted.

Para que las llamadas de fondo o de estado terminado funcionen 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 Push 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. Entrega el evento de llamada entrante a tu aplicación e invoca este plugin tan pronto como esté disponible la Capacitor puente.

Si tu evento de timbre existe solo en JavaScript, obtendrás la mejor experiencia mientras la aplicación ya está en ejecución en el primer plano.

CallKit no reemplaza tus medios SDK. Si la sesión de llamada real utiliza acceso de micrófono o cámara, los descripciones de uso todavía pertenecen a tu 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>

Agrega solo las claves que tu 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 habitación real o sesión de VoIP después callAccepted
  • Finalizar o reconciliar el estado de llamada remota cuando el plugin emite callDeclined, callEnded, o callTimedOut

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