Ringkasan notifikasi

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

Gambar 1. Ikon notifikasi muncul di sisi kiri status bar.

Pengguna dapat menggeser ke bawah pada 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 mengeluarkan notifikasi. Class menghilang setelah beberapa saat, tetapi tetap terlihat di panel samping notifikasi seperti biasa.

Kondisi yang mungkin memicu notifikasi peringatan dini meliputi:

  • Aktivitas pengguna dalam mode layar penuh, seperti saat aplikasi menggunakan fullScreenIntent.

  • Notifikasi memiliki prioritas tinggi dan menggunakan nada dering atau getaran pada perangkat yang menjalankan Android 7.1 (API level 25) dan yang lebih rendah.

  • Saluran notifikasi sangat penting di perangkat yang menjalankan Android 8.0 (API level 26) dan yang lebih tinggi.

Kunci layar

Mulai Android 5.0, notifikasi dapat muncul di layar kunci.

Anda dapat secara terprogram menetapkan apakah notifikasi yang diposting oleh aplikasi akan ditampilkan di layar kunci yang aman dan, jika demikian, tingkat detail yang terlihat.

Pengguna dapat menggunakan setelan sistem untuk memilih tingkat detail yang terlihat dalam notifikasi layar kunci atau 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 di perangkat yang menjalankan Android 8.0 (API level 26) dan yang lebih tinggi, 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 notifikasi.

Gambar 5. Badge notifikasi dan menu sentuh lama.

Untuk mempelajari lebih lanjut cara kerja badge, baca Mengubah badge notifikasi.

Perangkat Wear OS

Jika pengguna memiliki perangkat Wear OS yang tersambung, semua notifikasi Anda akan muncul di sana secara otomatis, termasuk detail yang dapat diluaskan 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 mengetahui informasi selengkapnya, lihat cara menambahkan fitur khusus wearable ke notifikasi.

Gambar 6. Notifikasi muncul otomatis 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 diperluas.

Gambar 7. Notifikasi dengan detail dasar.

Bagian paling umum dari notifikasi ditunjukkan dalam 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. Tetapkan menggunakan setLargeIcon().
  5. Title: opsional; ditetapkan menggunakan setContentTitle().
  6. 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 mengetahui informasi selengkapnya tentang cara membuat notifikasi dengan fitur ini dan lainnya, baca Membuat notifikasi.

Tindakan notifikasi

Meskipun tidak diwajibkan, setiap notifikasi sebaiknya 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 (API level 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 tinggi, Anda dapat mengonfigurasi tindakan notifikasi sehingga perangkat harus dibuka kuncinya agar aplikasi dapat memanggil tindakan tersebut, apa pun alur kerja apa yang diluncurkan tindakan tersebut. Opsi ini menambahkan lapisan keamanan ekstra 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 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 yang ditunjukkan pada gambar 9.

Gambar 9. Notifikasi yang dapat diluaskan untuk teks besar.

Anda juga dapat membuat notifikasi yang dapat diluaskan dengan gambar, dalam gaya kotak masuk, dengan percakapan chat, atau dengan kontrol pemutaran media. Untuk informasi selengkapnya, baca Membuat notifikasi yang dapat diluaskan.

Update dan grup notifikasi

Untuk menghindari membanjiri pengguna dengan beberapa notifikasi atau berlebihan saat Anda memiliki info tambahan, perbarui notifikasi yang sudah ada, bukan keluarkan notifikasi baru atau gunakan notifikasi dengan gaya kotak masuk 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 versi yang lebih baru.

Grup notifikasi memungkinkan Anda menciutkan beberapa notifikasi menjadi satu postingan di panel samping notifikasi dengan ringkasan. Pengguna secara bertahap dapat memperluas grup notifikasi dan setiap notifikasi di dalamnya untuk detail lebih lanjut, seperti ditunjukkan dalam gambar 10.

Gambar 10. Grup notifikasi yang diciutkan dan diperluas.

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 saluran atau tidak akan muncul. Tindakan 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.

Di perangkat yang menjalankan Android 7.1 (API level 25) dan yang lebih lama, pengguna hanya dapat mengelola notifikasi per aplikasi. Setiap aplikasi pada dasarnya 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 ini juga menjadi tempat Anda menentukan tingkat kepentingan notifikasi di Android 8.0 dan yang lebih tinggi, sehingga semua notifikasi yang diposting ke saluran notifikasi yang sama akan memiliki perilaku yang sama. Hal ini dijelaskan di bagian berikut.

Untuk informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi.

Nilai penting notifikasi

Android menggunakan nilai penting notifikasi untuk menentukan seberapa besar notifikasi mengganggu pengguna secara visual dan audio. Makin tinggi nilai penting notifikasi, makin mengganggu notifikasi tersebut.

Di Android 7.1 (API level 25) dan yang lebih rendah, pentingnya notifikasi ditentukan oleh priority notifikasi.

Di Android 8.0 (level API 26) dan yang lebih tinggi, pentingnya notifikasi ditentukan oleh importance saluran tempat notifikasi diposting. Pengguna dapat mengubah pentingnya saluran notifikasi di setelan sistem, seperti yang 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: berbunyi dan muncul sebagai notifikasi peringatan dini.

  • Tinggi: mengeluarkan bunyi.

  • Sedang: tidak bersuara.

  • Rendah: tidak mengeluarkan suara dan tidak muncul di status bar.

Semua notifikasi, terlepas dari nilai pentingnya, muncul di lokasi UI sistem yang tidak mengganggu, seperti di panel samping notifikasi dan sebagai badge pada 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 menyenyapkan suara dan getaran untuk semua notifikasi. Notifikasi tetap muncul di UI sistem seperti biasa, kecuali jika pengguna menentukan sebaliknya.

Ada tiga level 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 seluruh sistem yang dapat mengganggu mereka, seperti hanya alarm, pengingat, acara, panggilan, atau pesan. Untuk pesan dan panggilan telepon, pengguna dapat memfilter berdasarkan pengirim atau penelepon, seperti yang ditunjukkan pada gambar 13.

Gambar 13. Pengguna dapat mengizinkan notifikasi muncul berdasarkan kategori tingkat sistem (kiri) dan pengirim atau penelepon (kanan).

Di Android 8.0 (API level 26) dan yang lebih tinggi, 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 yang terkait dengan penarikan dan penyetoran. Pengguna dapat mengizinkan notifikasi penarikan, notifikasi penyetoran, 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.

Guna mengonfigurasi notifikasi untuk 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 aktif dan dapat dilihat oleh pengguna, seperti pemutar media. Notifikasi ini tidak dapat ditutup seperti notifikasi lain. Untuk menghapus notifikasi, layanan harus dihentikan atau dihapus dari status latar depan.

Untuk mengetahui informasi selengkapnya, baca Layanan latar depan. Jika Anda membuat pemutar media, baca juga Memutar media di latar belakang.

Batas postingan

Mulai Android 8.1 (API level 27), aplikasi tidak dapat membuat suara notifikasi berbunyi lebih dari satu kali 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 akan 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 ini dapat 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 menyebabkan tidak adanya pengoperasian di perangkat yang lebih lama.

Berikut adalah ringkasan perubahan perilaku yang paling penting berdasarkan API level untuk notifikasi Android.

Android 5.0, API level 21

  • Memperkenalkan layar kunci dan notifikasi peringatan dini.

  • Memungkinkan pengguna menyetel ponsel ke mode Jangan Ganggu dan mengonfigurasi notifikasi mana yang diizinkan untuk menginterupsi saat perangkat dalam mode khusus prioritas.

  • Menambahkan metode untuk menyetel apakah notifikasi ditampilkan di layar kunci, seperti setVisibility()), dan untuk menentukan teks notifikasi versi “publik”.

  • Menambahkan metode setPriority(), yang memberi tahu sistem seberapa mengganggu 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 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

  • Menata ulang template notifikasi untuk lebih menekankan pada 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. Aplikasi dapat memasukkan teks, yang kemudian dirutekan ke aplikasi induk notifikasi.

Android 8.0, API level 26

  • Membuat notifikasi individual ditempatkan di saluran tertentu.

  • Memungkinkan pengguna menonaktifkan notifikasi per saluran, bukan menonaktifkan semua notifikasi dari satu 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 menyetel 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 ke 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 meskipun tanda Notification.FLAG_ONGOING_EVENT disetel. Hal ini tidak berlaku untuk notifikasi CallStyle jika flag Notification.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.