Saltare al contenuto

Android

GitHub

Sul sistema Android, il plugin invia una notifica di chiamata in arrivo di priorità alta e può far sorgere un'attività a schermo intero quando le impostazioni del sistema e dell'utente lo consentono.

Il manifesto del plugin include già:

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

Dopo l'installazione, cap sync è sufficiente unire quella configurazione all'app host.

Chiamate questi metodi durante l'acquisizione o prima di affidarti alla presentazione della chiamata in arrivo:

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() richiede il permesso di notifica su Android 13 e successive versioni.
  • requestFullScreenIntentPermission() apre la pagina di impostazioni di Android 14 e versioni successive per gli intenti a schermo intero quando necessario.
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: identificatore per il canale di notifica
  • channelName: nome del canale visibile dall'utente
  • showFullScreen: richiede l'attività a schermo intero
  • isHighPriority: mantiene la notifica sufficientemente disturbante per i flussi di suono
  • accentColor: compatibile con la tinta delle superfici di notifica
  • ringtoneUri: punta a una risorsa o URI di ringtone Android personalizzato
  • La presentazione a schermo intero è di tipo best-effort. Se il dispositivo o le impostazioni dell'utente bloccano, Android mostra comunque la notifica di chiamata in arrivo.
  • La gestione dei timeout è di tipo best-effort. Il plugin traccia e invia timeoutMs e callTimedOut, ma il tuo backend dovrebbe comunque riconciliare le chiamate perse sul suo lato.
  • Gli azioni di accettazione, rifiuto e fine sono inviate nuovamente attraverso i listener di Capacitor affinché la tua app possa unirsi o pulire la sessione di chiamata reale.

Utilizza il push di Android o il tuo chiamante SDK per il trasporto, poi lascia che questo plugin si occupi dell'ultima miglia di interfaccia di chiamata nativa. Mantieni queste responsabilità al di fuori del plugin:

  • Registrazione e gestione del token FCM
  • Ciclo di vita della sessione di media
  • Stato della chiamata backend
  • Logica di business per la ripetizione e la chiamata mancata

Se stai utilizzando Android per pianificare il comportamento di media e interfaccia nativa, connettilo con Utilizza @capgo/capacitor-kit-di-chiamata-in-arrivo per la capacità nativa in Utilizza @capgo/capacitor-kit-di-chiamata-in-arrivo Utilizza @capgo/capacitor-attività-vive per la capacità nativa in Utilizza @capgo/capacitor-attività-vive @capgo/capacitor-attività-vive per i dettagli di implementazione in @capgo/capacitor-live-attivitàs Usando @capgo/capacitor-video-player per la capacità nativa in Usando @capgo/capacitor-video-player, e @capgo/capacitor-video-player per i dettagli di implementazione in @capgo/capacitor-video-player.