Aller directement au contenu

Android

Sur Android, le plugin publie une notification d'appel entrant de priorité élevée et peut faire apparaître une activité à écran plein lorsque les paramètres de la plateforme et de l'utilisateur le permettent.

Le manifeste du plugin inclut déjà :

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

Après l'installation, cap sync est suffisant pour fusionner cette configuration dans votre application hôte.

Appelez ces méthodes lors de l'inscription ou avant de vous appuyer sur la présentation de l'appel entrant :

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() demande la permission de notification Android 13 et ultérieur.
  • requestFullScreenIntentPermission() ouvre la page de paramètres Android 14 et ultérieur pour les intents plein écran lorsque nécessaire.
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: identifiant pour le canal de notification
  • channelName: nom du canal visible pour l'utilisateur
  • showFullScreen: demander l'activité à plein écran
  • isHighPriority: garder la notification suffisamment perturbante pour les flux d'appel
  • accentColor: notification compatible avec la teinte des surfaces
  • ringtoneUri: pointer vers une ressource ou une URI de tonnerie Android personnalisée
  • La présentation à plein écran est de bonne volonté. Si le dispositif ou les paramètres de l'utilisateur bloquent cela, Android affiche toujours la notification d'appel entrant.
  • La gestion des temps limites est de bonne volonté. Le plugin suit timeoutMs et émet callTimedOutmais votre serveur devrait toujours réconcilier les appels manqués de son côté.
  • Les actions d'acceptation, de refus et de fin sont émises à nouveau à travers les écouteurs Capacitor afin que votre application puisse rejoindre ou nettoyer la session d'appel réelle.

Utilisez la poussée Android ou votre appel SDK pour le transport, puis laissez ce plugin gérer la dernière mile de l'interface utilisateur de sonnerie native. Gardez ces responsabilités à l'extérieur du plugin :

  • Inscription et gestion de jeton FCM
  • Cycle de vie de la session multimédia
  • État de l'appel backend
  • Logique commerciale de la reprise et de l'appel manqué