Ringkasan notifikasi

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.

Gambar 1. Ikon notifikasi muncul di sisi kiri 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.

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 floating yang disebut notifikasi pendahuluan. Perilaku ini biasanya untuk notifikasi penting yang harus segera diketahui pengguna, dan hanya muncul jika perangkat dibuka kuncinya.

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

Notifikasi peringatan dini muncul saat aplikasi Anda mengeluarkan notifikasi. Notifikasi ini 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 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 (API level 26) dan yang lebih tinggi.

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.

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

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.

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 informasi selengkapnya, lihat cara menambahkan fitur khusus perangkat wearable ke notifikasi.

Gambar 6. Notifikasi muncul otomatis di perangkat Wear OS yang tersambung.

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 paling umum dari notifikasi ditunjukkan dalam gambar 7, sebagai berikut:

  1. Ikon kecil: wajib diisi; tetapkan 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 menggunakannya untuk ikon aplikasi Anda. Tetapkan menggunakan setLargeIcon().
  5. Judul: 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 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.

Gambar 8. Notifikasi dengan tombol tindakan.

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 diluaskan dengan menerapkan template tambahan, seperti ditampilkan pada gambar 9.

Gambar 9. Notifikasi yang dapat diluaskan untuk teks 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 diluaskan.

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.

Dengan grup notifikasi, Anda dapat menciutkan beberapa notifikasi menjadi satu postingan di panel samping notifikasi dengan ringkasannya. Pengguna dapat secara bertahap memperluas grup notifikasi dan setiap notifikasi di dalamnya untuk detail selengkapnya, seperti yang ditunjukkan pada gambar 10.

Gambar 10. Grup notifikasi yang diciutkan dan diluaskan.

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.

Di perangkat yang menjalankan Android 7.1 (API level 25) dan lebih lama, 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 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 nilai penting notifikasi untuk menentukan tingkat interupsi notifikasi tersebut bagi pengguna secara visual dan audio. Makin tinggi urgensi notifikasi, makin mengganggu notifikasi tersebut.

Di Android 7.1 (API level 25) dan yang lebih lama, 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.

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

Kemungkinan tingkat nilai penting dan perilaku notifikasi terkait adalah berikut:

  • Mendesak: berbunyi dan muncul sebagai notifikasi pendahuluan.

  • Tinggi: berbunyi.

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

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 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 penyetoran, 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 depanService 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 notifikasi 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” dari teks notifikasi.

  • Menambahkan metode setPriority(), yang memberi tahu sistem seberapa mengganggu notifikasi. Misalnya, menyetel prioritas ke tinggi akan membuat notifikasi muncul sebagai notifikasi pendahuluan.

  • Menambahkan dukungan tumpukan 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 diluaskan dan dekorasi sistem lainnya.

  • Menambahkan dukungan ke perangkat genggam, seperti ponsel dan tablet, untuk grup notifikasi. Menggunakan API yang sama dengan tumpukan 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 setiap notifikasi ditempatkan di saluran 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 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 tinggi.

Android 13.0, API level 33

Android 14.0, API level 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 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 ditetapkan. Hal ini tidak berlaku untuk notifikasi CallStyle jika tanda 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.