Admin 04 Jun 2026 03:01

 

Cara Menggunakan Bubble Notifications pada Android

Bubble notifications (atau "chat heads") merupakan fitur yang memungkinkan notifikasi muncul dalam bentuk gelembung melayang di atas layar, sehingga pengguna dapat berinteraksi tanpa harus meninggalkan aplikasi yang sedang digunakan. Fitur ini pertama kali diperkenalkan oleh Facebook Messenger, namun sejak Android 11, Google memberikan API resmi untuk mengimplementasikannya.

1. Persiapan Proyek

Pastikan proyek Android Anda menggunakan AndroidX dan menargetkan API level 30 (Android 11) atau yang lebih tinggi.

 dependencies { implementation "androidx.core:core:1.9.0" implementation "androidx.appcompat:appcompat:1.6.1" } 

2. Menambahkan Permission

Bubble membutuhkan izin POST_NOTIFICATIONS (untuk Android 13 ke atas) dan BUBBLE khusus pada manifest:

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

3. Membuat Notifikasi dengan Bubble

Berikut contoh kode Java/Kotlin untuk menampilkan bubble notification.

Java

 NotificationManagerCompat manager = NotificationManagerCompat.from(this); // Tentukan channel String channelId = "bubble_channel"; NotificationChannel channel = new NotificationChannel( channelId, "Bubble Channel", NotificationManager.IMPORTANCE_HIGH); channel.setDescription("Channel untuk bubble notification"); channel.setAllowBubbles(true); manager.createNotificationChannel(channel); // Intent untuk activity yang akan dibuka ketika bubble diklik Intent intent = new Intent(this, ChatActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity( this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); // Buat bubble metadata BubbleMetadata bubbleMetadata = new BubbleMetadata.Builder() .setDesiredHeight(600) // tinggi bubble dalam dp .setIcon(Icon.createWithResource(this, R.drawable.ic_chat_head)) .setIntent(pendingIntent) .build(); // Bangun notifikasi Notification notification = new Notification.Builder(this, channelId) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Pesan Baru") .setContentText("Anda menerima pesan dari Alice") .setBubbleMetadata(bubbleMetadata) // aktifkan bubble .setAutoCancel(true) .build(); manager.notify(1001, notification); 

Kotlin

 val manager = NotificationManagerCompat.from(this) // Channel val channelId = "bubble_channel" val channel = NotificationChannel( channelId, "Bubble Channel", NotificationManager.IMPORTANCE_HIGH ).apply { description = "Channel untuk bubble notification" setAllowBubbles(true) } manager.createNotificationChannel(channel) // Intent untuk activity val intent = Intent(this, ChatActivity::class.java) val pendingIntent = PendingIntent.getActivity( this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE ) // Bubble metadata val bubbleMetadata = BubbleMetadata.Builder() .setDesiredHeight(600) .setIcon(Icon.createWithResource(this, R.drawable.ic_chat_head)) .setIntent(pendingIntent) .build() // Notifikasi val notification = Notification.Builder(this, channelId) .setSmallIcon(R.drawable.ic_notification) .setContentTitle("Pesan Baru") .setContentText("Anda menerima pesan dari Bob") .setBubbleMetadata(bubbleMetadata) .setAutoCancel(true) .build() manager.notify(1001, notification) 

4. Menangani Interaksi Bubble

Activity yang di launch dari bubble biasanya berupa UI yang ringan (misalnya chat). Pastikan activity tersebut memiliki android:excludeFromRecents="true" agar tidak muncul di daftar aplikasi terbaru:

 <activity android:name=".ChatActivity" android:excludeFromRecents="true" android:theme="@style/Theme.AppCompat.Dialog"> </activity> 

5. Mengelola Bubble dari Pengaturan Sistem

Pengguna dapat menonaktifkan bubble untuk aplikasi tertentu melalui Settings Apps Nama Aplikasi Notifications Bubbles. Oleh karena itu, selalu periksa apakah bubble diizinkan sebelum mengirim:

 if (NotificationManagerCompat.from(this).areBubblesAllowed()) { // kirim notifikasi bubble } 

6. Praktik Terbaik

  • Ukuran Ikon: Gunakan gambar berformat png dengan latar transparan, ukuran 96 96 dp atau lebih besar.
  • Desain UI: Pastikan activity yang muncul pada bubble tidak terlalu berat. Hindari layout yang kompleks.
  • Konteks: Bubble cocok untuk pesan, panggilan, atau notifikasi yang memerlukan respons cepat.
  • Penghentian: Hapus notifikasi bila percakapan selesai dengan manager.cancel(id).

7. Contoh Kasus Penggunaan

Berikut contoh implementasi sederhana pada aplikasi chat:

  1. Ketika server mengirimkan pesan baru, backend mengirim data push via FCM.
  2. Di FirebaseMessagingService, bangun notifikasi bubble seperti contoh di atas.
  3. Jika pengguna membuka bubble, ChatActivity menampilkan percakapan dengan data yang diterima.
  4. Setelah pengguna menutup percakapan, panggil manager.cancel(notificationId) agar bubble hilang.
Catatan: Pada perangkat dengan Android versi lebih lama (di bawah 11), bubble tidak didukung secara native. Anda dapat menggunakan library pihak ketiga atau menampilkan notifikasi standar.

8. Debugging Umum

  • Bubble tidak muncul: Pastikan channel memiliki setAllowBubbles(true) dan level pentingnya IMPORTANCE_HIGH atau lebih.
  • Icon tidak terlihat: Periksa ukuran dan format ikon, serta pastikan resource ada.
  • Permission ditolak: Mintalah izin POST_NOTIFICATIONS pada runtime untuk Android 13+.

9. Referensi Tambahan

Berikut tautan resmi yang dapat membantu Anda memperdalam pemahaman:

Dengan mengikuti langkah langkah di atas, Anda dapat menambahkan bubble notifications pada aplikasi Android Anda, meningkatkan interaksi pengguna, dan memberikan pengalaman yang lebih dinamis.

Cara Menggunakan Bubble Notifications Android


admin
Admin
2026-06-04 03:01:05

Cara Mengaktifkan Sound Notifications Di Android


admin
Admin
2026-06-04 03:13:04

Cara Menggunakan Circle to Search di Android Terbaru


admin
Admin
2026-05-21 07:00:17

Cara Menggunakan Split Screen di Android Terbaru


admin
Admin
2026-05-21 11:00:16

Cara Menggunakan Nearby Share di Android Terbaru


admin
Admin
2026-05-21 13:00:16