Saltare al contenuto

iOS

GitHub

Su iOS, il plugin segnala la chiamata in arrivo a CallKit. Ciò ti dà la scheda di chiamata in arrivo del sistema e le azioni di chiamata standardizzate senza dover costruire la tua UI di chiamata nativa.

requestPermissions() risolve immediatamente su iOS perché CallKit stesso non richiede un dialogo di autorizzazione runtime.

Esempio base

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

Tipi di maniglia

Esempio base

Usa ios.handleType per controllare come CallKit formatta la maniglia:

  • generic per identificatori specifici dell'app
  • phoneNumber per numeri di telefono reali
  • emailAddress per identità basate su email

Chiamate in arrivo in background

Esempio base

Questa estensione non registra PushKit o APNs per te.

Per ottenere un vero suono di sfondo o di stato terminato su iOS, la tua app host ancora richiede la configurazione di push nativa Apple che corrisponde alla tua strategia di trasporto:

  1. Abilita le notifiche push quando il tuo trasporto utilizza la consegna di push Apple.
  2. Abilita il modulo di background Voice over IP quando la tua app utilizza un flusso di push VoIP.
  3. Inoltra l'evento di chiamata in arrivo alla tua app e invoca questo plugin non appena è disponibile il ponte Capacitor.

Se l'evento di suono esiste solo in JavaScript, avrai la migliore esperienza mentre l'app è già in esecuzione in primo piano.

CallKit non sostituisce i tuoi media SDK. Se la sessione di chiamata reale utilizza l'accesso alla microfonia o alla telecamera, le descrizioni di utilizzo ancora appartengono alla tua app:

<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>

Aggiungi solo le chiavi che il tuo flusso di chiamata reale richiede.

Mantieni queste responsabilità nel tuo layer di app

Sezione intitolata “Mantieni queste responsabilità nel tuo layer di app”
  • Registrazione di PushKit e APNs
  • Autenticazione e rinnovo del token
  • Unirsi alla stanza reale o alla sessione VoIP dopo callAccepted
  • Terminare o conciliare lo stato della chiamata remota quando il plugin emette callDeclined, callEndedo callTimedOut

Continua da iOS

Se stai utilizzando

iOS per pianificare il lavoro del plugin nativo, connettilo con Utilizzare @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-incoming-call-kit per la capacità nativa in Utilizzare @capgo/capacitor-incoming-call-kit per la capacità nativa in Utilizzare @capgo/capacitor-incoming-call-kit Capgo Plugin Directory for the product workflow in Capgo Plugin Directory, I plugin Capgo di Capacitor per il dettaglio di implementazione dei plugin Capacitor di Capgo, Aggiungere o aggiornare i plugin per il dettaglio di implementazione in Aggiungere o aggiornare i plugin, e Alternative plugin Enterprise Ionic per il flusso di lavoro del prodotto in Alternative plugin Enterprise Ionic.