Android
Copia una richiesta di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Come funziona il comportamento di Android
Sezione intitolata “Come funziona il comportamento di Android”Su Android, il plugin invia una notifica di chiamata in arrivo di priorità alta e può elevare un'attività a schermo intero quando le impostazioni della piattaforma e dell'utente lo consentono.
La manifestazione del plugin è già inclusa:
<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 al tuo app host.
Autorizzazioni in esecuzione
Sezione intitolata “Autorizzazioni in esecuzione”Chiama 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 la notifica di richiesta su Android 13 e successive.requestFullScreenIntentPermission()apre la pagina impostazioni Android 14 e successive per intenti a schermo intero quando necessario.
Esempio base
Sezione intitolata “Esempio base”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', },});Opzioni specifiche di Android
Sezione intitolata “Opzioni specifiche per Android”channelId: identificatore per il canale di notificachannelName: nome del canale visibile dall'utenteshowFullScreen: richiedere l'attività a schermo interoisHighPriority: mantenere la notifica sufficientemente disturbante per i flussi di suonoaccentColor: compatibilità con la tinta delle superfici di notificaringtoneUri: puntare a un ringtone personalizzato per Android o a una URI
Nota sul comportamento
Sezione intitolata “Nota sul comportamento”- La presentazione a schermo intero è di tipo best-effort. Se il dispositivo o le impostazioni dell'utente lo bloccano, Android mostra comunque la notifica di chiamata in arrivo.
- La gestione dei timeout è di tipo best-effort. Il plugin traccia
timeoutMse emettecallTimedOut, ma il tuo backend dovrebbe ancora riconciliare le chiamate perse sul suo lato. - Le azioni di accettazione, rifiuto e fine sono emesse nuovamente attraverso gli ascoltatori Capacitor affinché la tua app possa unirsi o pulire la sessione di chiamata reale.
Modello di produzione consigliato
Sezione intitolata “Modello di produzione consigliato”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 UI nativa. Mantieni queste responsabilità al di fuori del plugin:
- Registrazione e gestione del token FCM
- Ciclo di vita della sessione media
- Stato della chiamata backend
- Logica di business per la ripetizione e le chiamate perse