Aller au contenu

Android

GitHub

Sur Android, le plugin publie une notification d'appel entrant de haute priorité et peut lancer une activité plein écran si la plateforme et les paramètres 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 suffit pour fusionner cette configuration dans votre application hôte.

Appelez ces méthodes lors de l'onboarding ou avant de vous appuyer sur l'affichage des appels entrants :

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() demande la permission de notification sur Android 13 et versions ultérieures.
  • requestFullScreenIntentPermission() ouvre la page des paramètres Android 14 et versions ultérieures pour les intentions plein écran si 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: l'identifiant du canal de notification
  • channelName: nom du canal visible par l'utilisateur
  • showFullScreen: demander l'activité plein écran
  • isHighPriority: pour que la notification reste assez intrusive pour les sonneries
  • accentColor: pour teinter les surfaces de notification compatibles
  • ringtoneUri: pointer vers une ressource ou une URI de sonnerie Android personnalisée
  • L'affichage plein écran est fourni au mieux. Si l'appareil ou les paramètres de l'utilisateur le bloquent, Android affichera tout de même la notification d'appel entrant.
  • La gestion du timeout est fournie au mieux. Le plugin suit timeoutMs et émet callTimedOut, mais votre backend doit tout de même réconcilier les appels manqués de son côté.
  • Les actions Accepter, Refuser et Terminer sont renvoyées via des écouteurs Capacitor afin que votre application puisse rejoindre ou nettoyer la session d'appel réelle.

Utilisez les push Android ou votre SDK d'appel pour le transport, puis laissez ce plugin gérer la dernière étape de l'interface de sonnerie native. Gardez ces responsabilités en dehors du plugin :

  • Enregistrement FCM et gestion des tokens
  • Cycle de vie de la session média
  • État de l'appel côté backend
  • Logique métier de retry et d'appels manqués

Si vous utilisez Android pour planifier le comportement des médias et de l'interface natifs, connectez-l’à Utilisation de @capgo/capacitor-incoming-call-kit pour la capacité native dans Utilisation de @capgo/capacitor-incoming-call-kit, Utiliser @capgo/capacitor-live-activities pour la capacité native dans Utiliser @capgo/capacitor-live-activities @capgo/capacitor-live-activities pour le détail d'implémentation dans @capgo/capacitor-live-activities Utiliser @capgo/capacitor-video-player pour la capacité native dans Utiliser @capgo/capacitor-video-player, et @capgo/capacitor-video-player pour le détail d'implémentation dans @capgo/capacitor-video-player.