Ringkasan notifikasi

Notifikasi adalah pesan yang ditampilkan Android di luar UI aplikasi untuk memberikan pengingat, komunikasi dari orang lain, atau informasi waktu lainnya dari aplikasi Anda kepada pengguna. Pengguna dapat mengetuk notifikasi untuk membuka aplikasi Anda atau mengambil 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 desain notifikasi dan pola interaksi, lihat Panduan desain notifikasi.

Tampilan di perangkat

Notifikasi akan 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 pada 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 bar.

Pengguna dapat menggeser ke bawah status bar untuk membuka panel samping notifikasi, tempat mereka dapat melihat detail selengkapnya dan mengambil tindakan dengan notifikasi.

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. 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.

Gambar 3. Notifikasi pendahuluan muncul di depan aplikasi latar depan.

Notifikasi pendahuluan 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 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 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 menetapkan secara terprogram apakah notifikasi yang diposting oleh aplikasi Anda ditampilkan di layar kunci yang aman dan, jika demikian, tingkat detail yang akan terlihat.

Pengguna dapat menggunakan setelan sistem untuk memilih tingkat detail yang terlihat di 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.

Gambar 4. Notifikasi di layar kunci dengan konten sensitif disembunyikan.

Untuk mempelajari lebih lanjut, lihat Menyetel visibilitas layar kunci.

Badge ikon aplikasi

Pada 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, mirip dengan panel samping notifikasi.

Gambar 5. Badge notifikasi dan menu sentuh lama.

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.

Gambar 6. Notifikasi akan otomatis muncul di perangkat Wear OS yang disambungkan.

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.

Gambar 7. Notifikasi dengan detail dasar.

Bagian notifikasi yang paling umum ditunjukkan pada gambar 7, sebagai berikut:

  1. Ikon kecil: wajib; disetel menggunakan setSmallIcon().
  2. Nama aplikasi: disediakan oleh sistem.
  3. Stempel waktu: disediakan oleh sistem, tetapi Anda dapat menggantinya menggunakan setWhen() atau menyembunyikannya menggunakan setShowWhen(false).
  4. Ikon besar: opsional; biasanya hanya digunakan untuk foto kontak. Jangan gunakan untuk ikon aplikasi Anda. Setel menggunakan setLargeIcon().
  5. Title: opsional; setel menggunakan setContentTitle().
  6. Teks: opsional; setel menggunakan setContentText().

Sebaiknya gunakan template sistem untuk kompatibilitas desain yang tepat di semua perangkat. Jika perlu, Anda dapat membuat tata letak notifikasi kustom.

Untuk mengetahui 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—sering kali tanpa membuka aktivitas—seperti yang ditunjukkan pada gambar 8.

Gambar 8. Notifikasi dengan tombol tindakan.

Mulai Android 7.0 (level API 24), Anda dapat menambahkan tindakan untuk membalas pesan atau memasukkan 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, apa pun alur kerja yang diluncurkan tindakan tersebut. Opsi ini menambahkan lapisan keamanan ekstra pada notifikasi di perangkat yang terkunci.

Untuk mewajibkan perangkat dibuka kuncinya sebelum aplikasi memanggil tindakan notifikasi tertentu, 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 ingin notifikasi 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 berukuran besar.

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

Agar pengguna tidak dipenuhi notifikasi yang berulang atau berlebihan saat Anda memiliki update tambahan, perbarui notifikasi yang sudah ada, bukan membuat notifikasi baru, atau gunakan notifikasi bergaya kotak masuk untuk menampilkan update percakapan.

Namun, jika perlu mengirim beberapa notifikasi, pertimbangkan untuk mengelompokkan notifikasi terpisah ke dalam grup, yang tersedia di Android 7.0 dan yang lebih tinggi.

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 mengetahui detail selengkapnya, seperti ditunjukkan dalam gambar 10.

Gambar 10. Grup notifikasi yang diciutkan dan diluaskan.

Untuk mempelajari cara menambahkan notifikasi ke grup, lihat Membuat grup notifikasi.

Saluran notifikasi

Mulai Android 8.0 (API level 26), semua notifikasi harus ditetapkan ke suatu 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 auditori untuk setiap saluran dari setelan sistem Android, seperti 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.

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 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 juga digunakan untuk menentukan tingkat kepentingan notifikasi di Android 8.0 dan versi lebih baru sehingga semua notifikasi yang diposting ke saluran notifikasi yang sama akan memiliki perilaku yang sama. Hal ini dijelaskan di bagian berikut.

Untuk mengetahui 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. Semakin tinggi nilai penting notifikasi, semakin mengganggu notifikasi tersebut.

Di Android 7.1 (API level 25) dan versi lebih rendah, nilai penting notifikasi ditentukan oleh priority notifikasi.

Pada Android 8.0 (API level 26) dan yang lebih tinggi, nilai penting notifikasi ditentukan oleh importance saluran tempat notifikasi diposting. Pengguna dapat mengubah kepentingan saluran notifikasi di setelan sistem, seperti ditunjukkan pada gambar 12.

Gambar 12. Pengguna dapat mengubah nilai penting setiap saluran di Android 8.0 dan yang lebih baru.

Kemungkinan tingkat kepentingan dan perilaku notifikasi terkait adalah sebagai berikut:

  • 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, akan 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 mengetahui informasi selengkapnya, baca cara menetapkan nilai penting.

Mode Jangan Ganggu

Mulai 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, atau pesan. Untuk pesan dan panggilan, pengguna dapat memfilter berdasarkan pengirim atau penelepon, seperti yang ditunjukkan pada gambar 13.

Gambar 13. Pengguna dapat mengizinkan notifikasi muncul berdasarkan kategori di seluruh sistem (kiri) dan pengirim atau pemanggil (kanan).

Di Android 8.0 (API level 26) dan yang lebih baru, pengguna juga dapat mengizinkan notifikasi masuk 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 setoran. 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 rendah, pengguna dapat mengizinkan notifikasi muncul per aplikasi, bukan per saluran.

Untuk mengonfigurasi notifikasi bagi setelan pengguna ini, Anda harus menetapkan kategori seluruh sistem.

Notifikasi untuk layanan latar depan

Notifikasi diperlukan saat aplikasi Anda menjalankan layanan latar depanService yang berjalan di latar belakang yang bertahan lama 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 mengetahui informasi selengkapnya, baca Layanan latar depan. Jika Anda membangun 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 memposting update ke satu notifikasi, seperti banyak notifikasi dalam waktu kurang dari satu detik, sistem mungkin menghapus update.

Kompatibilitas notifikasi

UI sistem notifikasi Android dan API terkait notifikasi terus berkembang. Untuk menggunakan fitur API notifikasi terbaru sekaligus mendukung perangkat lama, 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 tersebut menanganinya.

NotificationCompat diperbarui saat platform berevolusi untuk memasukkan metode terbaru. Namun, ketersediaan metode di NotificationCompat tidak menjamin bahwa fitur terkait disediakan di perangkat yang lebih lama. Dalam beberapa kasus, memanggil API yang baru diperkenalkan akan menyebabkan tidak adanya pengoperasian di perangkat lama.

Berikut adalah ringkasan perubahan perilaku paling penting berdasarkan 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 mengganggunya saat perangkat dalam mode khusus prioritas.

  • Menambahkan metode untuk menyetel 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 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(). Tumpukan notifikasi, yang kemudian disebut 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 beruntun. Load balancer dapat memasukkan teks, yang kemudian dirutekan 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 pada 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 ke NotificationChannel. Misalnya, gunakan NotificationChannel.setImportance(), bukan NotificationCompat.Builder.setPriority(), untuk Android 8.0 dan yang lebih baru.

Android 13.0, API level 33

Android 14.0, level API 34

  • Membatasi notifikasi intent layar penuh hanya untuk aplikasi yang menyediakan panggilan dan alarm. Gunakan NotificationManager.canUseFullScreenIntent API untuk memeriksa apakah aplikasi Anda memiliki izin. Jika tidak, aplikasi Anda dapat menggunakan ACTION_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 bahkan saat flag Notification.FLAG_ONGOING_EVENT ditetapkan. Hal ini tidak berlaku untuk notifikasi CallStyle jika tanda Notification.FLAG_ONGOING_EVENT telah ditetapkan atau Pengontrol kebijakan perangkat (DPC) dan paket pendukung untuk perusahaan. Hal ini juga tidak berlaku ketika ponsel terkunci, atau jika pengguna memilih Hapus semua.