Notifikasi adalah pesan yang ditampilkan Android di luar UI aplikasi Anda untuk memberikan pengingat, komunikasi dari orang lain, atau informasi tepat waktu lainnya dari aplikasi Anda kepada pengguna. Pengguna dapat mengetuk notifikasi untuk membuka aplikasi Anda atau melakukan tindakan langsung dari notifikasi.
Halaman ini memberikan ringkasan tempat munculnya notifikasi dan fitur yang tersedia. Untuk mulai membuat notifikasi, baca Membuat notifikasi.
Untuk informasi selengkapnya tentang pola interaksi dan desain notifikasi, lihat Panduan desain notifikasi.
Tampilan di perangkat
Notifikasi otomatis muncul kepada pengguna di berbagai lokasi dan format. Notifikasi muncul sebagai ikon di status bar, entri yang lebih mendetail di panel samping notifikasi, dan badge di ikon aplikasi. Notifikasi juga muncul di perangkat wearable yang disambungkan.
Status bar dan panel samping notifikasi
Saat Anda mengeluarkan notifikasi, notifikasi tersebut akan muncul pertama kali sebagai ikon di status bar.
Pengguna dapat menggeser status bar ke bawah untuk membuka panel samping notifikasi, tempat mereka dapat melihat detail selengkapnya dan mengambil tindakan terkait notifikasi.
Pengguna dapat menarik notifikasi di panel samping ke bawah untuk membuka tampilan yang diluaskan, yang menampilkan konten dan tombol tindakan tambahan, jika ada. Mulai Android 13, tampilan yang diperluas ini menyertakan tombol yang memungkinkan pengguna menghentikan aplikasi yang memiliki layanan latar depan yang sedang berlangsung.
Notifikasi tetap terlihat di panel samping notifikasi hingga ditutup oleh aplikasi atau pengguna.
Notifikasi pendahuluan
Mulai Android 5.0, notifikasi dapat muncul sebentar di jendela mengambang yang disebut notifikasi pendahuluan. Perilaku ini biasanya untuk notifikasi penting yang perlu segera diketahui pengguna, dan hanya muncul jika perangkat tidak terkunci.
Notifikasi peringatan dini muncul saat aplikasi Anda mengeluarkan notifikasi. Notifikasi akan menghilang setelah beberapa saat, tetapi tetap terlihat di panel samping notifikasi seperti biasa.
Kondisi yang mungkin memicu notifikasi pendahuluan mencakup hal berikut:
Aktivitas pengguna berada dalam mode layar penuh, seperti saat aplikasi menggunakan
fullScreenIntent
.Notifikasi memiliki prioritas tinggi dan menggunakan nada dering atau getaran di perangkat yang menjalankan Android 7.1 (API level 25) dan yang lebih rendah.
Saluran notifikasi memiliki nilai penting yang tinggi di perangkat yang menjalankan Android 8.0 (level API 26) dan versi lebih baru.
Layar kunci
Mulai Android 5.0, notifikasi dapat muncul di layar kunci.
Anda dapat secara terprogram menyetel apakah notifikasi yang diposting oleh aplikasi Anda ditampilkan di layar kunci aman dan, jika ya, tingkat detail yang terlihat.
Pengguna dapat menggunakan setelan sistem untuk memilih tingkat detail yang terlihat dalam notifikasi layar kunci atau untuk menonaktifkan semua notifikasi layar kunci. Mulai Android 8.0, pengguna dapat menonaktifkan atau mengaktifkan notifikasi layar kunci untuk setiap saluran notifikasi.
Untuk mempelajari lebih lanjut, lihat Menyetel visibilitas layar kunci.
Badge ikon aplikasi
Di peluncur yang didukung pada perangkat yang menjalankan Android 8.0 (API level 26) dan yang lebih baru, ikon aplikasi menunjukkan notifikasi baru dengan badge berwarna yang dikenal sebagai titik notifikasi pada ikon peluncur aplikasi yang sesuai.
Pengguna dapat menyentuh lama ikon aplikasi untuk melihat notifikasi aplikasi tersebut. Pengguna dapat menutup atau menindaklanjuti notifikasi dari menu tersebut, serupa dengan panel samping notifikasi.
Untuk mempelajari cara kerja badge lebih lanjut, baca Mengubah badge notifikasi.
Perangkat Wear OS
Jika pengguna memiliki perangkat Wear OS yang tersambung, semua notifikasi akan muncul secara otomatis di sana, termasuk detail yang dapat diperluas dan tombol tindakan.
Anda dapat meningkatkan pengalaman dengan menyesuaikan tampilan notifikasi di perangkat wearable dan dengan menyediakan tindakan yang berbeda, termasuk balasan yang disarankan dan balasan input suara. Untuk informasi selengkapnya, lihat cara menambahkan fitur khusus wearable ke notifikasi.
Anatomi notifikasi
Desain notifikasi ditentukan oleh template sistem, dan aplikasi Anda menentukan konten untuk setiap bagian template. Beberapa detail notifikasi hanya muncul dalam tampilan yang diluaskan.
Bagian paling umum dari notifikasi ditunjukkan dalam gambar 7, sebagai berikut:
- Ikon kecil: wajib diisi; tetapkan menggunakan
setSmallIcon()
. - Nama aplikasi: disediakan oleh sistem.
- Stempel waktu: disediakan oleh sistem, tetapi Anda dapat menggantinya menggunakan
setWhen()
atau menyembunyikannya menggunakansetShowWhen(false)
. - Ikon besar: opsional; biasanya hanya digunakan untuk foto kontak.
Jangan gunakan untuk ikon aplikasi Anda. Tetapkan menggunakan
setLargeIcon()
. - Title: opsional; setel menggunakan
setContentTitle()
. - Teks: opsional; tetapkan menggunakan
setContentText()
.
Sebaiknya gunakan template sistem untuk kompatibilitas desain yang tepat di semua perangkat. Jika perlu, Anda dapat membuat tata letak notifikasi kustom.
Untuk informasi selengkapnya tentang cara membuat notifikasi dengan fitur ini dan lainnya, baca Membuat notifikasi.
Tindakan notifikasi
Meskipun tidak diwajibkan, sebaiknya setiap notifikasi membuka aktivitas aplikasi yang sesuai saat diketuk. Selain tindakan notifikasi default ini, Anda dapat menambahkan tombol tindakan yang menyelesaikan tugas terkait aplikasi dari notifikasi—seringkali tanpa membuka aktivitas—seperti yang ditunjukkan pada gambar 8.
Mulai Android 7.0 (API level 24), Anda dapat menambahkan tindakan untuk membalas pesan atau memasukkan teks lain secara langsung dari notifikasi.
Mulai dari Android 10 (API level 29), platform dapat otomatis menghasilkan tombol tindakan dengan tindakan berbasis intent yang disarankan.
Menambahkan tombol tindakan dijelaskan lebih lanjut di Membuat notifikasi.
Memerlukan perangkat yang tidak terkunci
Pengguna mungkin melihat tindakan notifikasi di layar kunci perangkat. Jika tindakan notifikasi menyebabkan aplikasi meluncurkan aktivitas atau mengirim balasan langsung, pengguna harus membuka kunci perangkat sebelum aplikasi dapat memanggil tindakan notifikasi tersebut.
Di Android 12 (API level 31) dan yang lebih baru, Anda dapat mengonfigurasi tindakan notifikasi sehingga perangkat harus dibuka kuncinya agar aplikasi Anda dapat memanggil tindakan tersebut, terlepas dari alur kerja tindakan yang diluncurkan. Opsi ini menambahkan lapisan keamanan tambahan pada notifikasi di perangkat yang terkunci.
Untuk mengharuskan perangkat dibuka kuncinya sebelum aplikasi memanggil tindakan notifikasi
tertentu, teruskan true
ke
setAuthenticationRequired()
saat membuat tindakan notifikasi, seperti yang ditunjukkan pada cuplikan kode berikut:
Kotlin
val moreSecureNotification = Notification.Action.Builder(...) // This notification always requests authentication when invoked // from a lock screen. .setAuthenticationRequired(true) .build()
Java
Notification moreSecureNotification = new Notification.Action.Builder(...) // This notification always requests authentication when invoked // from a lock screen. .setAuthenticationRequired(true) .build();
Notifikasi yang dapat diluaskan
Secara default, konten teks notifikasi dipotong agar pas dalam satu baris. Jika ingin notifikasi lebih panjang, Anda dapat mengaktifkan area teks yang lebih besar yang dapat diperluas dengan menerapkan template tambahan, seperti ditunjukkan dalam gambar 9.
Anda juga dapat membuat notifikasi yang dapat diperluas dengan gambar, dalam gaya kotak masuk, dengan percakapan chat, atau dengan kontrol pemutaran media. Untuk informasi selengkapnya, baca Membuat notifikasi yang dapat diperluas.
Update dan grup notifikasi
Untuk menghindari mengirimkan notifikasi yang berlebihan kepada pengguna saat Anda memiliki pembaruan tambahan, perbarui notifikasi yang sudah ada, bukan mengeluarkan notifikasi baru atau gunakan notifikasi dengan gaya kotak masuk untuk menampilkan update percakapan.
Namun, jika perlu mengirim beberapa notifikasi, sebaiknya pertimbangkan untuk mengelompokkan notifikasi terpisah ke dalam grup, yang tersedia di Android 7.0 dan yang lebih baru.
Grup notifikasi memungkinkan Anda menciutkan beberapa notifikasi menjadi satu postingan di panel samping notifikasi dengan ringkasan. Pengguna dapat secara bertahap memperluas grup notifikasi dan setiap notifikasi di dalamnya untuk detail selengkapnya, seperti yang ditunjukkan pada gambar 10.
Untuk mempelajari cara menambahkan notifikasi ke grup, lihat Membuat grup notifikasi.
Saluran notifikasi
Mulai dari Android 8.0 (API level 26), semua notifikasi harus ditetapkan ke saluran atau tidak akan muncul. Hal ini memungkinkan pengguna menonaktifkan saluran notifikasi tertentu untuk aplikasi Anda, bukan menonaktifkan semua notifikasi. Pengguna dapat mengontrol opsi visual dan audio untuk setiap saluran dari setelan sistem Android, seperti yang ditunjukkan pada gambar 11. Pengguna juga dapat menyentuh lama notifikasi untuk mengubah perilaku saluran terkait.
Pada perangkat yang menjalankan Android 7.1 (API level 25) dan yang lebih rendah, pengguna hanya dapat mengelola notifikasi per aplikasi. Setiap aplikasi secara efektif hanya memiliki satu saluran di Android 7.1 dan yang lebih lama.
Aplikasi dapat memiliki saluran terpisah untuk setiap jenis notifikasi yang dikeluarkan oleh aplikasi. Aplikasi juga dapat membuat saluran notifikasi sebagai respons atas pilihan yang dibuat oleh pengguna. Misalnya, Anda dapat menyiapkan saluran notifikasi terpisah untuk setiap grup percakapan yang dibuat oleh pengguna dalam aplikasi pesan.
Saluran ini juga tempat Anda menentukan tingkat urgensi untuk notifikasi di Android 8.0 dan yang lebih baru, sehingga semua notifikasi yang dikirimkan ke saluran notifikasi yang sama memiliki perilaku yang sama. Hal ini dijelaskan di bagian berikut.
Untuk informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi.
Nilai penting notifikasi
Android menggunakan pentingnya notifikasi untuk menentukan seberapa banyak notifikasi mengganggu pengguna secara visual dan audio. Makin tinggi urgensi notifikasi, makin mengganggu notifikasi tersebut.
Di Android
7.1 (API level 25) dan versi lebih rendah, nilai penting notifikasi ditentukan oleh
priority
notifikasi.
Di Android 8.0 (API level 26) dan yang lebih tinggi, nilai penting notifikasi
ditentukan oleh
importance
saluran notifikasi. Pengguna dapat mengubah urgensi
saluran notifikasi di setelan sistem, seperti yang ditunjukkan pada gambar 12.
Kemungkinan tingkat nilai penting dan perilaku notifikasi terkait adalah berikut:
Mendesak: berbunyi dan muncul sebagai notifikasi pendahuluan.
Tinggi: mengeluarkan suara.
Sedang: tidak bersuara.
Rendah: tidak mengeluarkan suara dan tidak muncul di status bar.
Semua notifikasi, terlepas dari tingkat kepentingannya, muncul di lokasi UI sistem yang tidak mengganggu, seperti di panel samping notifikasi dan sebagai badge di ikon peluncur. Namun, Anda dapat mengubah tampilan badge notifikasi.
Untuk informasi selengkapnya, baca cara menetapkan nilai penting.
Mode Jangan Ganggu
Mulai dari Android 5.0 (API level 21), pengguna dapat mengaktifkan mode Jangan Ganggu, yang menonaktifkan suara dan getaran untuk semua notifikasi. Notifikasi tetap muncul di UI sistem seperti biasa, kecuali jika pengguna menentukan sebaliknya.
Ada tiga tingkat yang tersedia dalam mode Jangan Ganggu:
- Senyap total: memblokir semua suara dan getaran, termasuk dari alarm, musik, video, dan game.
- Hanya alarm: memblokir semua suara dan getaran, kecuali dari alarm.
- Khusus prioritas: pengguna dapat mengonfigurasi kategori tingkat sistem mana saja yang dapat mengganggu mereka, seperti hanya alarm, pengingat, acara, panggilan telepon, atau pesan. Untuk pesan dan panggilan, pengguna dapat memfilter berdasarkan pengirim atau penelepon, seperti yang ditunjukkan dalam gambar 13.
Di Android 8.0 (API level 26) dan yang lebih baru, pengguna juga dapat mengizinkan notifikasi muncul untuk kategori khusus aplikasi—juga dikenal sebagai saluran—dengan mengganti mode Jangan Ganggu per saluran. Misalnya, aplikasi pembayaran mungkin memiliki saluran untuk notifikasi terkait penarikan dan penyetoran. Pengguna dapat mengizinkan notifikasi penarikan, notifikasi setoran, atau keduanya saat dalam mode prioritas.
Pada perangkat yang menjalankan Android 7.1 (API level 25) dan yang lebih lama, pengguna dapat mengizinkan notifikasi muncul berdasarkan per aplikasi, bukan berdasarkan saluran per saluran.
Untuk mengonfigurasi notifikasi untuk setelan pengguna ini, Anda harus menyetel kategori seluruh sistem.
Notifikasi untuk layanan latar depan
Notifikasi diperlukan saat aplikasi Anda menjalankan layanan
latar depan—Service
yang berjalan di
latar belakang yang berumur panjang dan terlihat oleh pengguna, seperti pemutar
media. Notifikasi ini tidak dapat ditutup seperti notifikasi lainnya. Untuk menghapus
notifikasi, layanan harus dihentikan atau dihapus dari status
latar depan.
Untuk informasi selengkapnya, baca Layanan latar depan. Jika Anda sedang membuat pemutar media, baca juga Memutar media di latar belakang.
Batas postingan
Mulai Android 8.1 (API level 27), aplikasi tidak dapat membuat notifikasi berbunyi lebih dari sekali per detik. Jika aplikasi Anda mengeluarkan beberapa notifikasi dalam satu detik, semuanya akan tetap muncul seperti yang diharapkan, tetapi hanya notifikasi pertama yang mengeluarkan bunyi setiap detiknya.
Akan tetapi, Android juga menerapkan batas kapasitas saat mengupdate notifikasi. Jika Anda terlalu sering mengirimkan update ke satu notifikasi, seperti banyak dalam waktu kurang dari satu detik, sistem mungkin membatalkan update.
Kompatibilitas notifikasi
UI sistem notifikasi Android dan API terkait notifikasi terus
berkembang. Untuk menggunakan fitur API notifikasi terbaru sekaligus mendukung
perangkat yang lebih lama, gunakan API notifikasi Support Library,
NotificationCompat
,
dan subclass-nya, serta
NotificationManagerCompat
.
Hal ini memungkinkan Anda menghindari penulisan kode kondisional untuk memeriksa API level, karena
API ini menanganinya.
NotificationCompat
diperbarui saat platform berevolusi untuk memasukkan metode
terbaru. Namun, ketersediaan metode di NotificationCompat
tidak
menjamin bahwa fitur yang sesuai disediakan di perangkat lama. Dalam beberapa
kasus, memanggil API yang baru diperkenalkan mengakibatkan no-op pada perangkat yang lebih lama.
Berikut ini ringkasan perubahan perilaku yang paling penting menurut level API untuk notifikasi Android.
Android 5.0, API level 21
Memperkenalkan layar kunci dan notifikasi pendahuluan.
Memungkinkan pengguna menyetel ponsel ke mode Jangan Ganggu dan mengonfigurasi notifikasi mana yang diizinkan untuk mengganggu saat perangkat dalam mode khusus prioritas.
Menambahkan metode untuk menetapkan apakah notifikasi ditampilkan di layar kunci, seperti
setVisibility()
), dan untuk menentukan versi “publik” teks notifikasi.Menambahkan metode
setPriority()
, yang memberi tahu sistem tingkat gangguan notifikasi. Misalnya, menyetel prioritas ke tinggi akan membuat notifikasi muncul sebagai notifikasi pendahuluan.Menambahkan dukungan stack notifikasi ke perangkat Android Wear (sekarang disebut Wear OS). Menempatkan notifikasi ke dalam tumpukan menggunakan
setGroup()
. Stack notifikasi, yang kemudian dikenal sebagai grup atau paket, tidak didukung di tablet atau ponsel hingga Android 7.0 (API level 24).
Android 7.0, API level 24
Mengubah gaya template notifikasi untuk lebih menekankan banner besar dan avatar.
Menambahkan tiga template notifikasi: satu untuk aplikasi pesan dan dua lainnya untuk mendekorasi tampilan konten kustom dengan kemampuan yang dapat diperluas dan dekorasi sistem lainnya.
Menambahkan dukungan ke perangkat genggam, seperti ponsel dan tablet, untuk grup notifikasi. Menggunakan API yang sama dengan stack notifikasi Android Wear (sekarang disebut Wear OS) yang diperkenalkan di Android 5.0 (API level 21).
Memungkinkan pengguna membalas di dalam notifikasi menggunakan balasan inline. Pengguna dapat memasukkan teks, yang kemudian diteruskan ke aplikasi induk notifikasi.
Android 8.0, API level 26
Membuat notifikasi individual ditempatkan di channel tertentu.
Memungkinkan pengguna menonaktifkan notifikasi per saluran, bukan menonaktifkan semua notifikasi dari aplikasi.
Membuat aplikasi dengan notifikasi aktif menampilkan badge notifikasi di atas ikon aplikasi di layar utama atau peluncur.
Memungkinkan pengguna menunda notifikasi dari panel samping. Anda dapat menyetel waktu tunggu otomatis untuk notifikasi.
Memungkinkan Anda menetapkan warna latar belakang notifikasi.
Memindahkan beberapa API terkait perilaku notifikasi dari
Notification
keNotificationChannel
. Misalnya, gunakanNotificationChannel.setImportance()
bukanNotificationCompat.Builder.setPriority()
untuk Android 8.0 dan yang lebih tinggi.
Android 13.0, API level 33
- Menambahkan izin runtime. Agar aplikasi Anda mengirim notifikasi yang tidak dikecualikan, pengguna harus memberikan izin ini ke aplikasi Anda.
Android 14.0, level API 34
Membatasi notifikasi intent layar penuh untuk aplikasi yang menyediakan panggilan dan alarm. Gunakan
NotificationManager.canUseFullScreenIntent
API untuk memeriksa apakah aplikasi Anda memiliki izin. Jika tidak, aplikasi Anda dapat menggunakanACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
untuk meluncurkan halaman setelan tempat pengguna dapat memberikan izin.Mengubah cara pengguna menerima notifikasi yang tidak dapat ditutup dengan mengizinkan pengguna menutup tindakan notifikasi meskipun tanda
Notification.FLAG_ONGOING_EVENT
ditetapkan. Hal ini tidak berlaku untuk notifikasiCallStyle
jika tandaNotification.FLAG_ONGOING_EVENT
ditetapkan atau Pengontrol kebijakan perangkat (DPC) dan paket pendukung untuk perusahaan. Hal ini juga tidak berlaku saat ponsel terkunci, atau jika pengguna memilih Hapus semua.