Zum Inhalt springen

Android

GitHub

Unter Android sendet das Plugin eine hochpriorisierte Benachrichtigung für eingehende Anrufe und kann – sofern Plattform- und Benutzereinstellungen dies zulassen – eine Vollbild-Activity öffnen.

Das Plugin-Manifest enthält bereits:

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

Nach der Installation cap sync reicht es aus, diese Konfiguration in deine Host-App zu mergen.

Rufe diese Methoden während des Onboardings oder vor der Nutzung der Incoming-Call-Präsentation auf:

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() fordert die Benachrichtigungsberechtigung unter Android 13 und neuer an.
  • requestFullScreenIntentPermission() öffnet bei Bedarf die Android 14 (oder neuer) Einstellungen für Full-Screen-Intents.
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: Identifier für den Notification Channel
  • channelName: für den Nutzer sichtbarer Channel-Name
  • showFullScreen: Fullscreen-Activity anfordern
  • isHighPriority: Benachrichtigung für Klingel-Flows ausreichend aufdringlich halten
  • accentColor: kompatible Notification-Oberflächen einfärben
  • ringtoneUri: auf eine eigene Android-Ringtone-Ressource oder URI verweisen
  • Die Vollbild-Anzeige erfolgt nach bestem Bemühen. Falls das Gerät oder die Benutzereinstellungen dies blockieren, zeigt Android dennoch die Benachrichtigung über den eingehenden Anruf an.
  • Das Timeout-Handling erfolgt nach bestem Bemühen. Das Plugin trackt timeoutMs und gibt callTimedOutaus, aber dein Backend sollte verpasste Anrufe dennoch serverseitig abgleichen.
  • Aktionen wie Annehmen, Ablehnen oder Beenden werden über Capacitor Listener zurückgegeben, damit deine App der echten Call-Session beitreten oder diese beenden kann.

Nutze Android Push oder dein SDK für den Transport und lass dieses Plugin die letzte Meile des nativen Klingel-UIs übernehmen. Diese Aufgaben sollten außerhalb des Plugins liegen:

  • FCM-Registrierung und Token-Management
  • Media-Session-Lifecycle
  • Backend-Call-Status
  • Retry- und Missed-Call-Logik

Wenn du es nutzt Android , um natives Media- und Interface-Verhalten zu planen, verbinde es mit @capgo/capacitor-incoming-call-kit verwenden für die native Funktion bei der Nutzung von @capgo/capacitor-incoming-call-kit, @capgo/capacitor-live-activities verwenden für die native Funktion in „@capgo/capacitor-live-activities verwenden“, @capgo/capacitor-live-activities für die Implementierungsdetails in @capgo/capacitor-live-activities, Verwendung von @capgo/capacitor-video-player für die native Funktion in „@capgo/capacitor-video-player verwenden“, und @capgo/capacitor-video-player für das Implementierungsdetail in @capgo/capacitor-video-player.