Getting Started
Copiez un prompt de configuration avec les étapes d'installation et la guide markdown complète 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.
-
Installez le package
Fenêtre de terminal bun add @capgo/capacitor-incoming-call-kit -
Synchroniser les projets natifs
Fenêtre de terminal bunx cap sync -
Choisissez votre source de signal de sonnerie Déterminez si l'événement de sonnerie entrante provient de votre backend, d'un SDK tel que Twilio ou Stream, ou d'un chemin de notification native tel que FCM ou PushKit.
Comment les éléments s'assemblent
Section intitulée “Comment les éléments s'assemblent”Cette plugin ne gère que la présentation de la sonnerie entrante native. Votre application conserve toujours la gestion du transport, de l'authentification et de la session média réelle.
Le modèle de production courant est :
- Your backend or calling SDK emits a ring event.
- Votre application appelle
showIncomingCall(). - Le plugin présente une interface utilisateur native pour les appels entrants.
callAcceptedinforme votre application pour rejoindre la salle réelle ou la session VoIP.callDeclined,callEndedoucallTimedOutinforme votre application pour nettoyer l'état distant.
Intégration minimale
Section intitulée “Intégration minimale”import { 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', },});Options importantes
Section intitulée “Options importantes”callId: identifiant stable réutilisé plus tard avecendCall()timeoutMs: temps d'attente non répondu avec effort maximumextra: JSON arbitraire renvoyé dans les payloads des écouteursandroid.channelIdetandroid.channelName: réglage du canal de notification Androidandroid.showFullScreen: demande l'activité d'appel entrant plein écran Androidios.handleType: choisirgeneric,phoneNumber, ouemailAddresspour CallKit
Gestion des appels actifs
Sous-section intitulée “Gestion des appels actifs”const { calls } = await IncomingCallKit.getActiveCalls();
await IncomingCallKit.endCall({ callId: 'call-42', reason: 'remote-ended',});
await IncomingCallKit.endAllCalls({ reason: 'session-reset',});Modèle d'événement
Modèle d'événementincomingCallDisplayedL'interface utilisateur native a été affichée avec succèscallAcceptedL'utilisateur a accepté depuis l'interface utilisateur nativecallDeclinedL'utilisateur a refusé avant de rejoindrecallEndedVotre application ou la plateforme a mis fin à l'appel suivicallTimedOutL'appel est resté sans réponse jusqu'àtimeoutMs
Chaque événement transporte le payload normalisé call et votre objet original. extra Remarques de la plateforme
Modèle d'événement
Lisez les- Remarques de la plateforme Guide iOS Avant de brancher CallKit dans un flux PushKit ou APNs.
- Lisez le Guide Android Avant de vous appuyer sur les intentions d'écran plein écran sur Android 14 et ultérieur.
- La version Web n'est pas prise en charge.
Continuez de "Getting Started"
Si vous utilisez "Getting Started" pour planifier les opérations de tableau de bord et __CAPGO_KEEP_0__, connectez-le avecEn utilisant @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-kit-appel-incoming Pour planifier le tableau de bord et les opérations __CAPGO_KEEP_0__ utilisez to plan dashboard and API operations, connect it with Using @capgo/capacitor-incoming-call-kit pour la capacité native en utilisant @capgo/capacitor-kit-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 le détail d'implémentation dans Appareils.