Notifikasi adalah pesan yang ditampilkan Android di luar UI aplikasi Anda untuk memberikan pengingat kepada pengguna, melakukan komunikasi dari orang lain, atau informasi aktual dari aplikasi Anda. Pengguna dapat mengetuk notifikasi untuk membuka aplikasi Anda atau melakukan tindakan langsung dari notifikasi tersebut.
Halaman ini memberikan ringkasan tempat munculnya notifikasi dan fitur yang tersedia. Untuk mulai membuat notifikasi, baca Membuat notifikasi.
Untuk informasi selengkapnya tentang desain notifikasi dan pola interaksi, lihat Desain notifikasi panduan kami.
Tampilan di perangkat
Notifikasi akan otomatis muncul kepada pengguna di berbagai lokasi dan format. Notifikasi muncul sebagai ikon di {i>status bar<i}, entri yang lebih rinci 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.
Gambar 1. Ikon notifikasi muncul di sisi kiri status .
Pengguna dapat menggeser ke bawah pada status bar untuk membuka panel samping notifikasi, mereka dapat melihat detail lebih lanjut dan mengambil tindakan dengan notifikasi tersebut.
Gambar 2. Notifikasi di panel samping notifikasi.
Pengguna dapat menarik notifikasi di panel samping ke bawah untuk membuka tampilan yang diluaskan, yang menampilkan konten dan tombol tindakan tambahan, jika ada. Dimulai dalam Android 13, tampilan yang diperluas ini menyertakan tombol yang memungkinkan pengguna menghentikan aplikasi yang memiliki latar depan yang sedang berjalan layanan Google.
Notifikasi tetap terlihat di panel samping notifikasi hingga ditutup oleh aplikasi atau pengguna.
Notifikasi pendahuluan
Mulai Android 5.0, notifikasi dapat muncul sebentar dalam mode mengambang jendela yang disebut notifikasi pendahuluan. Perilaku ini biasanya untuk aspek notifikasi yang perlu segera diketahui pengguna, dan notifikasi itu hanya muncul jika perangkat tidak terkunci.
Gambar 3. Notifikasi pendahuluan akan muncul di depan aplikasi latar depan.
Notifikasi pendahuluan muncul saat aplikasi Anda mengeluarkan notifikasi. Ini menghilang setelah beberapa saat, namun tetap terlihat di panel samping notifikasi sebagai seperti biasa.
Kondisi yang mungkin memicu notifikasi pendahuluan meliputi 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 (level API 25) dan yang lebih lama.
Saluran notifikasi memiliki nilai penting yang tinggi pada perangkat menjalankan Android 8.0 (level API 26) dan yang lebih tinggi.
Layar kunci
Mulai Android 5.0, notifikasi dapat muncul di layar kunci.
Anda dapat menetapkan secara terprogram apakah notifikasi yang diposting oleh aplikasi Anda muncul di layar kunci yang aman dan, jika demikian, tingkat detail yang terlihat.
Pengguna dapat menggunakan setelan sistem untuk memilih tingkat detail yang terlihat di kunci notifikasi layar atau untuk menonaktifkan semua notifikasi layar kunci. Dimulai dengan Android 8.0, pengguna dapat menonaktifkan atau mengaktifkan notifikasi layar kunci untuk setiap saluran notifikasi.
Gambar 4. Notifikasi di layar kunci yang berisi konten sensitif disembunyikan.
Untuk mempelajari lebih lanjut, lihat Menyetel layar kunci visibilitas.
Badge ikon aplikasi
Di peluncur yang didukung pada perangkat yang menjalankan Android 8.0 (API level 26) dan yang lebih tinggi, ikon aplikasi menunjukkan notifikasi baru dengan badge berwarna yang dikenal sebagai notifikasi titik di ikon peluncur aplikasi yang sesuai.
Pengguna dapat menyentuh & tahan ikon aplikasi untuk melihat notifikasi untuk aplikasi tersebut. Pengguna dapat menutup atau menindaklanjuti notifikasi dari menu tersebut, mirip dengan notifikasi panel samping.
Gambar 5. Lencana notifikasi dan sentuhan & tahan menu.
Untuk mempelajari lebih lanjut cara kerja badge, baca Mengubah notifikasi badge ini.
Perangkat Wear OS
Jika pengguna memiliki perangkat Wear OS yang disambungkan, semua notifikasi Anda akan muncul di sana secara otomatis, termasuk detail yang dapat diperluas dan tombol tindakan.
Anda dapat meningkatkan pengalaman dengan menyesuaikan tampilan notifikasi pada perangkat wearable dan dengan menyediakan tindakan yang berbeda, termasuk balasan yang disarankan dan balasan input suara. Untuk informasi lebih lanjut, lihat cara menambahkan fitur khusus perangkat wearable ke notifikasi.
Gambar 6. Notifikasi muncul otomatis di Wear OS yang tersambung perangkat seluler.
Anatomi notifikasi
Desain notifikasi ditentukan oleh template sistem, dan aplikasi Anda menentukan konten untuk setiap bagian {i>template<i}. Beberapa detail tentang notifikasi hanya muncul dalam tampilan yang diluaskan.
Gambar 7. Notifikasi dengan detail dasar.
Bagian notifikasi yang paling umum ditunjukkan pada gambar 7, sebagai berikut:
- Ikon kecil: wajib; atur menggunakan
setSmallIcon()
. - Nama aplikasi: disediakan oleh sistem.
- Stempel waktu: disediakan oleh sistem, tetapi
Anda dapat menggantinya menggunakan
setWhen()
atau sembunyikan menggunakansetShowWhen(false)
. - Ikon besar: opsional; biasanya hanya digunakan untuk foto kontak.
Jangan gunakan untuk ikon aplikasi Anda. Setel menggunakan
setLargeIcon()
. - Title (Judul): opsional; atur menggunakan
setContentTitle()
. - Teks: opsional; atur menggunakan
setContentText()
.
Kami sangat menyarankan penggunaan template sistem untuk kompatibilitas desain yang tepat di semua perangkat. Jika perlu, Anda dapat membuat notifikasi kustom tata letak.
Untuk informasi selengkapnya tentang cara membuat notifikasi dengan fitur ini dan selengkapnya, baca Membuat notifikasi.
Tindakan notifikasi
Meskipun tidak diwajibkan, sebaiknya buka setiap notifikasi untuk aktivitas aplikasi yang sesuai saat diketuk. Selain setelan default ini, Anda dapat menambahkan tombol tindakan yang menyelesaikan tindakan dari notifikasi—sering kali tanpa membuka aktivitas—seperti yang ditunjukkan pada gambar 8.
Gambar 8. Notifikasi dengan tombol tindakan.
Mulai Android 7.0 (API level 24), Anda dapat menambahkan tindakan untuk membalas pesan atau masukkan teks lain 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, tidak alur kerja apa yang diluncurkan tindakan tersebut. Opsi ini menambahkan lapisan ekstra dari keamanan untuk notifikasi pada perangkat yang terkunci.
Untuk mewajibkan perangkat dibuka kuncinya sebelum aplikasi memanggil notifikasi tertentu
tindakan, teruskan true
ke
setAuthenticationRequired()
saat membuat tindakan notifikasi, seperti yang ditunjukkan dalam 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 yang Anda inginkan notifikasinya lebih panjang, Anda dapat mengaktifkan area teks yang lebih besar yang dapat diperluas dengan menerapkan template tambahan, seperti ditunjukkan dalam gambar 9.
Gambar 9. Notifikasi yang dapat diperluas untuk teks.
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 membanjiri pengguna Anda dengan pemberitahuan yang berulang atau berlebihan saat Anda memiliki pembaruan tambahan, perbarui notifikasi, bukan daripada menerbitkan undangan baru atau gunakan gaya kotak masuk notifikasi untuk menampilkan pembaruan percakapan.
Namun, jika perlu mengirim beberapa notifikasi, pertimbangkan untuk mengelompokkan notifikasi terpisah ke dalam grup, yang tersedia di Android 7.0 dan lebih tinggi.
Grup notifikasi memungkinkan Anda menciutkan beberapa notifikasi menjadi satu postingan dalam panel samping notifikasi dengan ringkasan. Pengguna secara bertahap dapat grup notifikasi dan setiap notifikasi di dalamnya untuk detail lebih lanjut, seperti ditunjukkan dalam gambar 10.
Gambar 10. Grup notifikasi yang diciutkan dan diluaskan.
Untuk mempelajari cara menambahkan notifikasi ke grup, lihat Membuat grup berisi notifikasi.
Saluran notifikasi
Mulai Android 8.0 (API level 26), semua notifikasi harus ditetapkan ke {i>channel<i} atau tidak akan muncul. Tindakan ini memungkinkan pengguna menonaktifkan notifikasi tertentu saluran lain untuk aplikasi Anda, bukan menonaktifkan semua notifikasi. Pengguna dapat mengontrol opsi visual dan auditori untuk setiap saluran dari sistem Android seperti yang ditunjukkan pada gambar 11. Pengguna juga dapat menyentuh & tahan notifikasi untuk mengubah perilaku saluran terkait.
Di perangkat yang menjalankan Android 7.1 (API level 25) dan yang lebih lama, pengguna dapat mengelola notifikasi per aplikasi saja. Setiap aplikasi secara efektif hanya memiliki satu saluran pada Android 7.1 dan yang lebih lama.
Gambar 11. Setelan notifikasi untuk aplikasi Jam dan salah satu salurannya.
Aplikasi dapat memiliki saluran terpisah untuk setiap jenis notifikasi yang menjadi masalah aplikasi. Aplikasi juga bisa membuat saluran notifikasi sebagai respons atas pilihan yang dibuat oleh pelanggan. Misalnya, Anda dapat menyiapkan saluran notifikasi terpisah untuk setiap grup percakapan yang dibuat oleh pengguna di aplikasi pesan.
Saluran juga merupakan tempat Anda menentukan tingkat kepentingan notifikasi di Android 8.0 dan yang lebih tinggi, sehingga semua notifikasi diposting ke saluran notifikasi memiliki perilaku yang sama. Hal ini dijelaskan dalam bagian.
Untuk informasi selengkapnya, lihat Membuat dan mengelola notifikasi saluran.
Nilai penting notifikasi
Android menggunakan nilai penting notifikasi untuk menentukan seberapa besar notifikasi yang mengganggu pengguna secara visual dan terdengar. Semakin tinggi nilai penting suatu notifikasi, maka semakin interupsi notifikasi tersebut.
Di Android
7.1 (API level 25) dan yang lebih rendah, nilai penting notifikasi ditentukan oleh
notifikasi
priority
Di Android 8.0 (API level 26) dan yang lebih tinggi, notifikasi menjadi penting
ditentukan oleh model
importance
pada channel tempat notifikasi diposting. Pengguna dapat mengubah tingkat kepentingan
saluran notifikasi di setelan sistem, seperti ditunjukkan dalam gambar 12.
Gambar 12. Pengguna dapat mengubah nilai penting setiap saluran di Android 8.0 dan yang lebih tinggi.
Kemungkinan tingkat kepentingan dan perilaku notifikasi terkait adalah berikut ini:
Penting: mengeluarkan suara dan muncul sebagai notifikasi peringatan dini.
Tinggi: mengeluarkan suara.
Sedang: tidak bersuara.
Rendah: tidak bersuara dan tidak muncul di status bar.
Semua notifikasi, terlepas dari tingkat kepentingannya, muncul di sistem yang tidak mengganggu Lokasi UI, seperti di panel samping notifikasi dan sebagai badge pada peluncur ikon. Namun, Anda dapat mengubah tampilan notifikasi badge ini.
Untuk informasi selengkapnya, baca cara menyetel tingkat kepentingan.
Mode Jangan Ganggu
Mulai Android 5.0 (API level 21), pengguna dapat mengaktifkan mode Jangan Ganggu, yang membisukan suara dan getaran untuk semua notifikasi. Notifikasi diam akan 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.
- Hanya prioritas: pengguna dapat mengonfigurasi kategori tingkat sistem mana yang dapat menyelanya, seperti hanya alarm, pengingat, acara, panggilan, atau pesan. Untuk pesan dan panggilan, pengguna dapat memfilter berdasarkan pengirim atau penelepon, seperti yang ditampilkan pada gambar 13.
Gambar 13. Pengguna dapat mengizinkan notifikasi berdasarkan kategori seluruh sistem (kiri) dan pengirim atau penelepon (kanan).
Di Android 8.0 (level API 26) dan yang lebih tinggi, pengguna juga dapat mengizinkan notifikasi untuk kategori khusus aplikasi—juga dikenal sebagai saluran—dengan mengganti mode Jangan Ganggu di setiap saluran. Sebagai Misalnya, aplikasi pembayaran mungkin memiliki saluran untuk notifikasi yang terkait dengan penarikan dan penyetoran. Pengguna dapat mengizinkan notifikasi penarikan, penyetoran, notifikasi, atau keduanya saat dalam mode prioritas.
Pada perangkat yang menjalankan Android 7.1 (API level 25) dan yang lebih lama, pengguna dapat mengizinkan notifikasi per aplikasi, bukan pada untuk setiap saluran.
Untuk mengonfigurasi notifikasi bagi setelan pengguna ini, Anda harus menyetel seluruh sistem kategori.
Notifikasi untuk layanan latar depan
Notifikasi diperlukan saat aplikasi Anda menjalankan latar depan
layanan—Service
yang berjalan di
latar belakang yang bertahan lama dan terlihat oleh pengguna, seperti media
web. Notifikasi ini tidak dapat ditutup seperti notifikasi lainnya. Untuk menghapus
notifikasi, layanan harus dihentikan atau dihapus dari latar depan
status.
Untuk informasi selengkapnya, baca Latar depan layanan Google. Jika Anda membuat media pemutar, baca juga Memutar media di latar belakang.
Batas postingan
Mulai Android 8.1 (API level 27), aplikasi tidak dapat mengeluarkan suara notifikasi 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 memposting pembaruan ke satu notifikasi, seperti banyak notifikasi dalam waktu kurang dari satu detik, sistem mungkin berhenti menerima pembaruan.
Kompatibilitas notifikasi
UI sistem notifikasi Android dan API terkait notifikasi secara terus-menerus
berkembang. Untuk menggunakan fitur API notifikasi terbaru sekaligus mendukung versi yang lebih lama
perangkat seluler, gunakan API notifikasi Support Library,
NotificationCompat
,
dan subclass-nya, serta
NotificationManagerCompat
.
Hal ini memungkinkan Anda menghindari penulisan kode kondisional untuk memeriksa level API, karena
API yang menanganinya.
NotificationCompat
diperbarui saat platform berevolusi untuk memasukkan metode
terbaru. Namun, ketersediaan metode di NotificationCompat
tidak
menjamin bahwa fitur terkait disediakan di perangkat lama. Di beberapa
kasus, memanggil API yang baru diperkenalkan akan menyebabkan tidak adanya pengoperasian pada perangkat 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 diizinkan untuk menginterupsi saat perangkat berada mode prioritas saja.
Menambahkan metode untuk mengatur apakah notifikasi ditampilkan di layar kunci, seperti
setVisibility()
), dan untuk menentukan versi “publik” dari teks notifikasi.Menambahkan metode
setPriority()
, yang memberi tahu sistem seberapa mengganggu notifikasi tersebut. Misalnya, menetapkan prioritas ke tinggi membuat muncul sebagai pemberitahuan pendahuluan.Menambahkan dukungan tumpukan notifikasi ke Android Wear (sekarang disebut Wear OS) perangkat. Menempatkan notifikasi ke dalam tumpukan menggunakan
setGroup()
Tumpukan 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 memberi penekanan pada gambar utama 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.
Menambahkan dukungan ke perangkat genggam, seperti ponsel dan tablet, untuk grup notifikasi. Menggunakan API yang sama dengan Android Wear (sekarang disebut Wear OS) yang diperkenalkan di Android 5.0 (API level 21).
Memungkinkan pengguna membalas di dalam notifikasi menggunakan balasan beruntun. Mereka bisa masuk teks, yang kemudian dirutekan ke aplikasi induk notifikasi.
Android 8.0, API level 26
Membuat notifikasi individual dimasukkan ke channel Anda.
Memungkinkan pengguna menonaktifkan notifikasi per saluran, bukan menonaktifkan semua notifikasi dari aplikasi.
Membuat aplikasi dengan notifikasi aktif menampilkan badge notifikasi di atas ikon aplikasi mereka pada layar utama atau peluncur.
Memungkinkan pengguna menunda notifikasi dari panel samping. Anda dapat menyetel waktu tunggu untuk notifikasi.
Memungkinkan Anda menetapkan warna latar belakang notifikasi.
Memindahkan beberapa API terkait perilaku notifikasi dari
Notification
keNotificationChannel
. Misalnya, gunakanNotificationChannel.setImportance()
bukannyaNotificationCompat.Builder.setPriority()
untuk Android 8.0 dan yang lebih tinggi.
Android 13.0, API level 33
- Menambahkan runtime izin akses. Untuk aplikasi untuk mengirim tidak dikecualikan notifikasi, pengguna harus memberikan izin ini ke aplikasi Anda.
Android 14.0, level API 34
Membatasi notifikasi intent layar penuh ke aplikasi yang menyediakan panggilan dan alarm. Gunakan
NotificationManager.canUseFullScreenIntent
API untuk periksa 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 untuk menutup tindakan notifikasi bahkan ketika Flag
Notification.FLAG_ONGOING_EVENT
ditetapkan. Ini tidak berlaku untuk NotifikasiCallStyle
jika flagNotification.FLAG_ONGOING_EVENT
atau {i>Device policy controller<i} (DPC) dan paket pendukung untuk perusahaan. Ini juga tidak berlaku ketika ponsel terkunci, atau jika pengguna memilih Hapus semua.