Langsung ke konten

Android

GitHub

Di Android, plugin ini mengirimkan notifikasi panggilan masuk prioritas tinggi dan dapat menampilkan activity full-screen jika diizinkan oleh sistem dan pengaturan pengguna.

Manifest plugin sudah mencakup:

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

Setelah instalasi, cap sync sudah cukup untuk menggabungkan konfigurasi tersebut ke dalam host app Anda.

Panggil metode ini saat onboarding atau sebelum Anda mengandalkan tampilan incoming-call:

import { IncomingCallKit } from '@capgo/capacitor-incoming-call-kit';
await IncomingCallKit.requestPermissions();
await IncomingCallKit.requestFullScreenIntentPermission();
  • requestPermissions() meminta izin notifikasi pada Android 13 ke atas.
  • requestFullScreenIntentPermission() membuka halaman pengaturan Android 14 ke atas untuk full-screen intents jika diperlukan.
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: pengenal untuk notification channel
  • channelName: nama channel yang terlihat pengguna
  • showFullScreen: meminta full-screen activity
  • isHighPriority: menjaga notifikasi tetap disruptif untuk alur panggilan
  • accentColor: memberi warna pada permukaan notifikasi yang kompatibel
  • ringtoneUri: merujuk ke resource ringtone Android kustom atau URI
  • Tampilan layar penuh bersifat best-effort. Jika perangkat atau pengaturan pengguna memblokirnya, Android tetap akan menampilkan notifikasi panggilan masuk.
  • Penanganan timeout bersifat best-effort. Plugin ini melacak timeoutMs dan memancarkan callTimedOut, namun backend Anda tetap harus melakukan rekonsiliasi panggilan yang terlewat di sisi server.
  • Aksi Accept, decline, dan end dipancarkan kembali melalui listener Capacitor agar aplikasi Anda dapat bergabung atau membersihkan sesi panggilan asli.

Gunakan push Android atau SDK panggilan Anda untuk transport, lalu biarkan plugin ini menangani UI ringing native di tahap akhir. Tetap simpan tanggung jawab ini di luar plugin:

  • Registrasi FCM dan manajemen token
  • Lifecycle media session
  • State panggilan backend
  • Logika bisnis retry dan panggilan terlewat

Jika Anda menggunakan Android untuk merencanakan perilaku media dan antarmuka native, hubungkan dengan Menggunakan @capgo/capacitor-incoming-call-kit untuk kapabilitas native saat menggunakan @capgo/capacitor-incoming-call-kit, Menggunakan @capgo/capacitor-live-activities untuk kemampuan native di Menggunakan @capgo/capacitor-live-activities, @capgo/capacitor-live-activities untuk detail implementasi di @capgo/capacitor-live-activities, Menggunakan @capgo/capacitor-video-player untuk kemampuan native di Menggunakan @capgo/capacitor-video-player, dan @capgo/capacitor-video-player untuk detail implementasi di @capgo/capacitor-video-player.