Register now for Android Dev Summit 2019!

Ringkasan Notifikasi

Notifikasi adalah pesan yang ditampilkan oleh Android di luar UI aplikasi Anda untuk memberikan pengingat, komunikasi dari orang lain, atau informasi aktual lainnya dari aplikasi Anda kepada pengguna. Pengguna dapat menge-tap notifikasi untuk membuka aplikasi Anda atau mengambil tindakan langsung dari notifikasi.

Halaman ini memberikan ringkasan tempat munculnya notifikasi dan fitur yang tersedia. Jika Anda ingin mulai membuat notifikasi, baca Membuat Notifikasi.

Untuk informasi selengkapnya tentang pola desain dan interaksi, lihat Panduan desain notifikasi. Selain itu, buka Contoh Notifikasi Android untuk melihat demonstrasi praktik terbaik dalam menggunakan API Notification.Style di aplikasi seluler dan wearable.

Tampilan di perangkat

Notifikasi secara otomatis ditampilkan kepada pengguna dalam lokasi dan format yang berbeda-beda, seperti ikon di status bar, entri yang lebih mendetail di panel samping notifikasi, sebagai badge di ikon aplikasi, dan di perangkat wearable yang tersambung.

Status bar dan panel samping notifikasi

Saat dikeluarkan, notifikasi terlebih dahulu muncul di status bar sebagai ikon.

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

Pengguna dapat menggeser status bar ke bawah untuk membuka panel samping notifikasi, dan di sini pengguna 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.

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 oleh pengguna dan muncul hanya jika perangkat terbuka kuncinya.

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

Notifikasi pendahuluan muncul saat aplikasi Anda mengeluarkan notifikasi dan menghilang tidak lama kemudian, namun tetap terlihat di panel samping notifikasi seperti biasa.

Contoh kondisi yang mungkin memicu notifikasi pendahuluan mencakup berikut ini:

  • Aktivitas pengguna dalam mode layar penuh (aplikasi menggunakan fullScreenIntent).
  • Notifikasi memiliki prioritas tinggi dan menggunakan nada dering atau getaran di perangkat yang menjalankan Android 7.1 (API level 25) dan lebih rendah.
  • Saluran notifikasi memiliki nilai penting yang tinggi di perangkat yang menjalankan Android 8.0 (API level 26) dan lebih tinggi.

Layar kunci

Mulai Android 5.0, notifikasi dapat muncul di layar kunci.

Anda dapat secara terprogram menyetel tingkat detail yang terlihat di notifikasi yang dikeluarkan oleh aplikasi Anda pada layar kunci aman, atau bahkan apakah notifikasi akan muncul di layar kunci sama sekali.

Pengguna dapat menggunakan setelan sistem untuk memilih tingkat detail yang terlihat di notifikasi layar kunci, termasuk opsi untuk menonaktifkan semua notifikasi layar kunci. Mulai Android 8.0, pengguna dapat memilih untuk menonaktifkan atau mengaktifkan notifikasi layar kunci untuk tiap saluran notifikasi.

Gambar 4. Notifikasi di layar kunci dengan konten sensitif disembunyikan

Untuk mempelajari lebih lanjut, lihat cara Menyetel visibilitas layar kunci.

Badge ikon aplikasi

Pada peluncur yang didukung di perangkat yang menjalankan Android 8.0 (API level 26) dan lebih tinggi, ikon aplikasi menandai notifikasi baru dengan "badge" berwarna (juga disebut "titik notifikasi") di ikon peluncur aplikasi yang sesuai.

Pengguna dapat menekan lama ikon aplikasi untuk melihat notifikasi aplikasi tersebut. Pengguna kemudian dapat menutup atau menindaklanjuti notifikasi dari menu tersebut, yang mirip dengan panel samping notifikasi.

Gambar 5. Badge notifikasi dan menu tekan lama

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

Perangkat Wear OS

Jika pengguna memiliki perangkat Wear OS yang tersambung, semua notifikasi muncul di sana secara otomatis, termasuk detail yang dapat diluaskan dan tombol tindakan.

Anda juga dapat menyempurnakan pengalaman dengan menyesuaikan beberapa tampilan notifikasi di perangkat wearable dan menyediakan tindakan yang berbeda, termasuk balasan yang disarankan dan balasan masukan suara. Untuk informasi selengkapnya, lihat cara menambahkan fitur khusus perangkat wearable ke notifikasi.

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

Anatomi notifikasi

Desain notifikasi ditentukan oleh template sistem—aplikasi Anda hanya menentukan konten untuk tiap porsi 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: Diperlukan dan disetel dengan setSmallIcon().
  2. Nama aplikasi: Disediakan oleh sistem.
  3. Stempel waktu: Disediakan oleh sistem, namun Anda dapat menggantinya dengan setWhen() atau menyembunyikannya dengan setShowWhen(false).
  4. Ikon besar: Bersifat opsional (biasanya digunakan hanya untuk foto kontak; jangan gunakan untuk ikon aplikasi Anda) dan disetel dengan setLargeIcon().
  5. Judul: Bersifat opsional dan disetel dengan setContentTitle().
  6. Teks: Bersifat opsional dan disetel dengan setContentText().

Untuk informasi selengkapnya tentang cara membuat notifikasi dengan fitur ini dan lainnya, baca Membuat Notifikasi.

Tindakan notifikasi

Meski tidak diwajibkan, setiap notifikasi sebaiknya membuka aktivitas aplikasi yang sesuai saat di-tap. Selain tindakan notifikasi default ini, Anda dapat menambahkan tombol tindakan yang menyelesaikan tugas terkait aplikasi dari notifikasi (biasanya tanpa membuka aktivitas), seperti ditampilkan di gambar 9.

Gambar 9. Notifikasi dengan tombol tindakan

Mulai di Android 7.0 (API level 24), Anda juga dapat menambahkan tindakan untuk membalas pesan atau memasukkan teks lain secara langsung dari notifikasi.

Menambahkan tombol tindakan dijelaskan lebih lanjut di Membuat Notifikasi.

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 di gambar 8.

Gambar 8. Notifikasi yang dapat diluaskan untuk teks besar

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

Meski kami merekomendasikan agar Anda selalu menggunakan template ini untuk memastikan kompatibilitas desain yang tepat di semua perangkat, jika perlu, Anda juga dapat membuat tata letak notifikasi kustom.

Pembaruan dan grup notifikasi

Untuk menghindari mengirimkan notifikasi yang berlebihan jika ada pembaruan tambahan, sebaiknya pertimbangkan untuk memperbarui notifikasi yang sudah ada daripada mengeluarkan notifikasi baru, atau pertimbangkan untuk menggunakan notifikasi dengan gaya kotak masuk untuk menampilkan pembaruan percakapan.

Akan tetapi, jika perlu mengirim beberapa notifikasi, sebaiknya pertimbangkan untuk mengelompokkan notifikasi terpisah tersebut menjadi grup (tersedia di Android 7.0 dan lebih tinggi). Grup notifikasi memungkinkan Anda menciutkan beberapa notifikasi menjadi satu postingan di panel samping notifikasi, dengan ringkasannya. Pengguna kemudian dapat meluaskan notifikasi untuk membuka detail tiap notifikasi satu per satu.

Pengguna dapat secara bertahap meluaskan grup notifikasi dan tiap notifikasi di dalamnya untuk melihat detail selengkapnya.

Gambar 10. Grup notifikasi yang diciutkan dan diluaskan

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

Saluran notifikasi

Mulai di Android 8.0 (API level 26), semua notifikasi harus ditetapkan ke suatu saluran atau tidak akan muncul. Dengan mengelompokkan notifikasi ke dalam saluran, pengguna dapat menonaktifkan saluran notifikasi tertentu untuk aplikasi Anda (bukan menonaktifkan semua notifikasi), dan pengguna dapat mengontrol opsi visual dan audio untuk tiap saluran—semua dari setelan sistem Android (gambar 11). Pengguna juga dapat menekan lama notifikasi untuk mengubah perilaku saluran terkait.

Di perangkat yang menjalankan Android 7.1 (API level 25) dan lebih rendah, pengguna hanya dapat mengelola notifikasi per aplikasi (secara efektif tiap aplikasi hanya memiliki satu saluran di Android 7.1 dan lebih rendah).

Gambar 11. Setelan notifikasi untuk aplikasi Jam dan salah satu salurannya

Satu aplikasi dapat memiliki beberapa saluran notifikasi— satu saluran terpisah untuk tiap jenis notifikasi yang dikeluarkan oleh aplikasi. Aplikasi juga dapat membuat saluran notifikasi untuk merespons pilihan yang dibuat oleh pengguna aplikasi Anda. Misalnya, Anda dapat menyiapkan saluran notifikasi yang terpisah untuk tiap grup percakapan yang dibuat oleh pengguna dalam aplikasi messaging.

Pada saluran Anda juga menentukan tingkat nilai penting notifikasi di Android 8.0 dan lebih tinggi. Dengan demikian, semua notifikasi yang dikirimkan ke saluran notifikasi yang sama memiliki perilaku yang sama.

Untuk informasi selengkapnya, lihat Membuat dan Mengelola Saluran Notifikasi.

Nilai penting notifikasi

Android menggunakan nilai penting notifikasi untuk menentukan seberapa mengganggu notifikasi bagi pengguna (secara visual dan audio). Semakin tinggi nilai penting notifikasi, semakin mengganggu notifikasi tersebut.

Di Android 8.0 (API level 26) dan lebih tinggi, nilai penting notifikasi ditentukan oleh importance saluran notifikasi. Pengguna dapat mengubah nilai penting saluran notifikasi di setelan sistem (gambar 12). Di Android 7.1 (API level 25) dan lebih rendah, nilai penting tiap notifikasi ditentukan oleh priority notifikasi.

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

Kemungkinan tingkat nilai penting sebagai berikut:

  • Mendesak: Berbunyi dan muncul sebagai notifikasi pendahuluan.
  • Tinggi: Berbunyi
  • Sedang: Tidak ada bunyi
  • Rendah: Tidak ada bunyi dan tidak muncul di status bar.

Semua notifikasi, terlepas dari nilai pentingnya, muncul di lokasi UI sistem yang tidak mengganggu, seperti panel samping notifikasi dan sebagai badge di ikon peluncur (namun Anda dapat mengubah tampilan badge notifikasi).

Untuk informasi selengkapnya, lihat cara menyetel nilai penting.

Mode Jangan Ganggu

Mulai di 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 pengguna menentukan sebaliknya.

Ada tiga tingkat yang berbeda 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 pengguna (seperti hanya alarm, pengingat, acara, panggilan telepon, atau pesan). Untuk pesan dan panggilan telepon, pengguna juga dapat memilih untuk memfilter berdasarkan siapa pengirim atau peneleponnya (gambar 13).

Gambar 13. Pengguna dapat mengizinkan notifikasi muncul berdasarkan kategori tingkat sistem (kiri) dan berdasarkan siapa yang mengirim pesan atau siapa yang menelepon (kanan).

Di Android 8.0 (API level 26) dan lebih tinggi, pengguna juga dapat mengizinkan notifikasi muncul untuk kategori khusus aplikasi (juga disebut saluran) dengan mengganti mode Jangan Ganggu per saluran. Misalnya, aplikasi pembayaran mungkin memiliki saluran untuk notifikasi yang terkait dengan penarikan dan penyetoran. Pengguna kemudian dapat memilih untuk mengizinkan notifikasi penarikan, notifikasi penyetoran, atau keduanya saat dalam mode prioritas. Di perangkat yang menjalankan Android 7.1 (API level 25) dan lebih rendah, pengguna dapat mengizinkan notifikasi muncul per aplikasi, bukan per saluran.

Guna mengonfigurasi notifikasi dengan benar untuk setelan pengguna ini, Anda harus menyetel kategori dan saluran tingkat sistem.

Notifikasi untuk layanan latar depan

Notifikasi diperlukan saat aplikasi Anda menjalankan "layanan latar depan"—yaitu Service yang berjalan di latar belakang, yang berdurasi panjang dan terlihat 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 informasi selengkapnya, baca Menjalankan layanan di latar depan. Jika Anda sedang membuat pemutar media, baca juga Menggunakan notifikasi MediaStyle dengan layanan latar depan.

Batas pengeluaran notifikasi

Mulai Android 8.1 (API level 27), aplikasi tidak dapat membuat notifikasi berbunyi lebih dari satu kali per detik. Jika aplikasi Anda mengeluarkan beberapa notifikasi dalam satu detik, semua notifikasi tersebut muncul seperti diharapkan, namun hanya notifikasi pertama per detik yang mengeluarkan bunyi.

Akan tetapi, Android juga menerapkan batas keseringan saat mengupdate notifikasi. Jika Anda terlalu sering mengirimkan update ke satu notifikasi (banyak notifikasi dalam waktu kurang dari satu detik), sistem mungkin membatalkan beberapa update.

Kompatibilitas notifikasi

Sejak Android 1.0, UI sistem notifikasi dan API terkait notifikasi sudah terus berkembang. Untuk menggunakan fitur API notifikasi terbaru sambil tetap mendukung perangkat lama, gunakan API notifikasi library dukungan: NotificationCompat dan subclass-nya, serta NotificationManagerCompat. Ini memungkinkan Anda menghindari penulisan kode kondisional untuk memeriksa level API karena API tersebut menanganinya untuk Anda.

NotificationCompat diupdate saat platform berkembang dan menyertakan metode terbaru. Perlu diperhatikan bahwa ketersediaan metode di NotificationCompat tidak menjamin bahwa fitur yang sesuai akan disediakan di perangkat lama. Dalam beberapa kasus memanggil API yang baru diperkenalkan akan mengakibatkan tidak adanya operasi di perangkat lama. Misalnya, NotificationCompat.addAction() hanya menampilkan tombol tindakan di perangkat yang menjalankan Android 4.1 (API level 16) dan lebih tinggi.

Berikut ini ringkasan perubahan perilaku yang paling penting untuk notifikasi Android.

Android 4.1, API level 16

  • Memperkenalkan template notifikasi yang dapat diluaskan (disebut gaya notifikasi), sehingga memungkinkan area konten notifikasi yang lebih besar untuk menampilkan informasi. Pengguna dapat menggunakan gestur geser ke atas/bawah dengan satu jari untuk meluaskan notifikasi.
  • Juga memperkenalkan kemampuan untuk menambahkan tindakan tambahan, dalam bentuk tombol, ke notifikasi.
  • Menambahkan kemampuan bagi pengguna untuk menonaktifkan notifikasi per aplikasi di setelan.

Android 4.4, API level 19 dan 20

  • Layanan pemroses notifikasi ditambahkan ke API.
  • Dukungan Android Wear (sekarang disebut Wear OS) ditambahkan di API level 20.

Android 5.0, API level 21

  • Memperkenalkan layar kunci dan notifikasi pendahuluan.
  • Pengguna sekarang dapat mengaktifkan mode Jangan Ganggu di ponsel dan mengonfigurasi notifikasi mana yang diizinkan untuk mengganggu saat perangkat dalam mode khusus prioritas.
  • Metode yang ditambahkan ke API menetapkan apakah notifikasi ditampilkan di layar kunci (setVisibility()) atau tidak dan untuk menentukan versi "publik" dari teks notifikasi.
  • Metode setPriority() yang ditambahkan memberi tahu sistem seberapa "mengganggu" notifikasi tersebut (mis., menyetelnya ke tinggi akan membuat notifikasi muncul sebagai notifikasi pendahuluan).
  • Dukungan tumpukan notifikasi yang ditambahkan ke perangkat Android Wear (sekarang disebut Wear OS). Menempatkan notifikasi ke dalam tumpukan menggunakan setGroup(). Perlu diperhatikan bahwa tumpukan notifikasi belum didukung di tablet atau ponsel. Tumpukan notifikasi nanti akan disebut sebagai grup atau paket.

Android 7.0, API level 24

  • Template notifikasi diubah gayanya agar lebih menekankan banner besar dan avatar.
  • Tiga template notifikasi ditambahkan: satu untuk aplikasi messaging dan dua lagi untuk mendekorasi tampilan konten kustom dengan kemampuan yang dapat diluaskan dan dekorasi sistem lainnya.
  • Dukungan ditambahkan ke perangkat genggam (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).
  • Pengguna dapat langsung membalas di dalam notifikasi (pengguna dapat memasukkan teks yang kemudian akan dialihkan ke aplikasi induk notifikasi) menggunakan balasan inline.

Android 8.0, API level 26

  • Notifikasi satu per satu sekarang harus dimasukkan dalam saluran tertentu.
  • Pengguna sekarang dapat menonaktifkan notifikasi per saluran, dan bukan menonaktifkan semua notifikasi dari satu aplikasi.
  • Aplikasi dengan notifikasi aktif menampilkan "badge" notifikasi selain ikon aplikasi pada layar utama/peluncur.
  • Pengguna sekarang dapat menunda notifikasi dari panel samping. Anda dapat menyetel waktu tunggu otomatis untuk notifikasi.
  • Anda juga dapat menyetel warna latar belakang notifikasi.
  • Beberapa API terkait perilaku notifikasi dipindahkan dari Notification ke NotificationChannel. Misalnya, gunakan NotificationChannel.setImportance(), bukan NotificationCompat.Builder.setPriority() untuk Android 8.0 dan lebih tinggi.