Prise en main
Copiez un prompt de configuration avec les étapes d'installation et le guide Markdown complet pour ce plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-incoming-call-kit`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/incoming-call-kit/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installation
Section intitulée « Installation »Vous pouvez utiliser notre configuration assistée par l'IA pour installer le plugin. Ajoutez les Capgo compétences à votre outil IA en utilisant la commande suivante :
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsEnsuite, utilisez la prompt suivante :
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-incoming-call-kit` plugin in my project.Si vous préférez la configuration manuelle, installez le plugin en exécutant les commandes suivantes et suivez les instructions spécifiques au plateforme ci-dessous :
-
Installez le package
fenêtre de terminal bun add @capgo/capacitor-incoming-call-kit -
Syncronisez les projets natifs
fenêtre de terminal bunx cap sync -
Synchroniser les projets natifs Decide whether the incoming-call event comes from your backend, an SDK such as Twilio or Stream, or a native push path such as FCM or PushKit.
Comment les composants s'intègrent
Comment les éléments s'ajustent-ilsCette extension ne gère que la présentation des appels entrants natifs. Votre application conserve la gestion du transport, de l'authentification et de la session média réelle.
La stratégie de production courante est :
- Votre backend ou votre appel SDK émet un événement de sonnerie.
- Votre application appelle
showIncomingCall(). - The plugin presents native incoming-call UI.
callAcceptedlui dit à votre application de rejoindre la salle ou la session VoIP réelle.callDeclined,callEnded, orcallTimedOutordonne à votre application de nettoyer l'état distant.
Section intitulée “Intégration minimale”
Copier dans le presse-papierimport { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();await IncomingCallKit.requestFullScreenIntentPermission();
await IncomingCallKit.addListener('callAccepted', async ({ call }) => { console.log('Accepted', call.callId, call.extra); // Start or join your real call session here.});
await IncomingCallKit.addListener('callDeclined', ({ call }) => { console.log('Declined', call.callId); // Tell your backend or SDK that the user declined.});
await IncomingCallKit.addListener('callTimedOut', ({ call }) => { console.log('Timed out', call.callId); // Clear ringing state in your backend or SDK.});
await IncomingCallKit.showIncomingCall({ callId: 'call-42', callerName: 'Ada Lovelace', handle: '+39 555 010 020', appName: 'Capgo Phone', hasVideo: true, timeoutMs: 45_000, extra: { roomId: 'room-42', callerUserId: 'user_ada', }, android: { channelId: 'calls', channelName: 'Incoming Calls', showFullScreen: true, }, ios: { handleType: 'phoneNumber', },});Section intitulée “Options importantes”
: identifiant stable réutilisé plus tard aveccallId: identifiant stable réutilisé ultérieurement avecendCall()timeoutMs: temps d'attente sans réponseextra: JSON arbitraire renvoyé dans les payloads des écouteursandroid.channelIdetandroid.channelName: réglage du canal de notification Androidandroid.showFullScreen: demande l'activité d'appel en plein écran Androidios.handleType: choisirgeneric,phoneNumber, ouemailAddresspour CallKit
Gestion des appels actifs
Sous-titre : Gestion des appels actifsconst { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Modèle d'événement
Section titled “Event model”incomingCallDisplayed: native UI was shown successfullycallAccepted: user accepted from the native UIcallDeclined: l'utilisateur a refusé avant de rejoindrecallEnded: votre application ou la plateforme a terminé l'appel suivicallTimedOut: l'appel est resté sans réponse jusqu'àtimeoutMs
Each event carries the normalized call Remarques de la plateforme extra object.
Remarques sur la plateforme
Lisez le guide de style- Lisez le Guide iOS avant de brancher CallKit dans un flux PushKit ou APNs.
- Lisez le Guide Android pour Android Avant de vous fier aux intentions d'écran plein écran sur Android 14 et ultérieurs.
- Le web n'est pas pris en charge.
Continuez de la section Getting Started
La version Web n'est pas prise en charge.Continuez de la section « Commencer » Section intitulée “Continuez de la section « Commencer »” planer le tableau de bord et les opérations API, connectez-l’à Utilisation de @capgo/capacitor-kit-de-callbacks-entrant pour la capacité native dans Utiliser @capgo/capacitor-kit d'appel entrant, API Vue d'ensemble pour le détail d'implémentation dans API Vue d'ensemble, Introduction pour le détail d'implémentation dans Introduction, API Clés pour le détail d'implémentation dans API Clés, et Appareils pour les détails d'implémentation sur les appareils.