Saltar al contenido

Android

En Android, el plugin envía una notificación de llamada entrante de alta prioridad y puede elevar una actividad de pantalla completa cuando los ajustes de plataforma y usuario lo permiten.

El manifiesto del plugin ya incluye:

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />

Después de la instalación, cap sync es suficiente para fusionar esa configuración en tu aplicación de host.

Llame a estos métodos durante la incorporación o antes de que dependa de la presentación de llamadas entrantes:

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() solicita permiso de notificación en Android 13 y posterior.
  • requestFullScreenIntentPermission() abre la página de ajustes de Android 14 y posterior para intenciones de pantalla completa cuando sea necesario.
import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.showIncomingCall({
callId: 'call-42',
callerName: 'Ada Lovelace',
appName: 'Capgo Phone',
timeoutMs: 45_000,
android: {
channelId: 'calls',
channelName: 'Incoming Calls',
showFullScreen: true,
isHighPriority: true,
accentColor: '#0F766E',
},
});
  • channelId: identificador para el canal de notificación
  • channelName: nombre del canal visible para el usuario
  • showFullScreen: solicitar la actividad de pantalla completa
  • isHighPriority: mantener la notificación lo suficientemente disruptiva para los flujos de timbre
  • accentColor: notificación compatible con tonos de superficie
  • ringtoneUri: apuntar a un recurso de tono de timbre Android personalizado o URI
  • La presentación de pantalla completa es de mejor esfuerzo. Si el dispositivo o los ajustes del usuario lo bloquean, Android aún muestra la notificación de llamada entrante.
  • El manejo de tiempo límite es de mejor esfuerzo. El plugin sigue timeoutMs y emite callTimedOut, pero su servidor debe reconciliar las llamadas perdidas en su lado.
  • Las acciones de aceptación, rechazo y finalización se emiten nuevamente a través de los oyentes Capacitor para que tu aplicación pueda unirse o limpiar la sesión de llamada real.

Utiliza push de Android o tu llamada SDK para el transporte, luego deja que este complemento se encargue de la última milla de la interfaz de usuario de sonido nativo. Mantén estas responsabilidades fuera del complemento:

  • Registro y gestión de tokens de FCM
  • Ciclo de vida de la sesión de medios
  • Estado de llamada de backend
  • Lógica de negocio de reintentos y llamadas perdidas