Notification Action di aplikasi seluler: apa itu, jenis, dan konfigurasi

Penulis: IT Sectr Diterbitkan: 2026-03-21 Waktu membaca: 8 mnt

Notification Action — tombol interaktif dan kolom input yang ditampilkan langsung di notifikasi push dan memungkinkan pengguna melakukan tindakan tanpa membuka aplikasi. Ini adalah elemen kunci pengalaman pengguna yang mempersingkat jalan menuju layar target. Menurut Android Developers, 2025, Notification Action meningkatkan keterlibatan pengguna hingga 40% dengan mengurangi gesekan saat interaksi.

Poin utama

  • Notification Action — elemen interaktif dalam notifikasi push untuk eksekusi tugas cepat.
  • Di Android, tindakan diimplementasikan melalui PendingIntent dan NotificationCompat.Action.Builder.
  • Di iOS, tindakan dikonfigurasi melalui UNNotificationAction dan UNNotificationCategory.
  • Tombol, input teks, tanda “selesai”, dan tindakan tertunda didukung.
  • Setiap tindakan harus ditangani di callback aplikasi saat diklik.

Apa itu Notification Action

Notification Action — adalah elemen antarmuka interaktif yang ditambahkan ke notifikasi push untuk melakukan tindakan tertentu. Pengguna dapat membalas pesan, mengonfirmasi tugas, atau membuka layar tertentu tanpa masuk ke aplikasi. Tindakan ditampilkan sebagai tombol di bawah teks notifikasi atau dalam tampilan diperluas saat digeser.

Mengapa tindakan dalam notifikasi diperlukan

Tujuan utama Notification Action adalah mengurangi jumlah langkah yang diperlukan pengguna untuk mencapai tujuannya. Alih-alih membuka aplikasi dan menavigasi ke layar yang diinginkan, pengguna cukup mengeklik satu tombol. Penelitian menunjukkan bahwa aplikasi dengan notifikasi interaktif memiliki tingkat keterlibatan 25–40% lebih tinggi dibandingkan notifikasi biasa.

Representasi visual di berbagai platform

Di Android, Notification Action ditampilkan sebagai tombol ikon dalam tampilan ringkas dan sebagai tombol teks dalam mode diperluas. Di iOS, tindakan muncul saat menekan lama notifikasi atau menggeser ke kiri. Setiap platform memiliki rekomendasi tersendiri mengenai jumlah tindakan — Android merekomendasikan maksimal 3, iOS maksimal 4.

PlatformMaks. tindakanCara tampilanJenis tindakan
Android3Ikon + teksTombol, input teks
iOS4Tekan lama / geserTombol, input teks

Notification Action di Android

Di Android, Notification Action dibuat melalui NotificationCompat.Builder menggunakan metode addAction(). Setiap tindakan berisi ikon, teks, dan PendingIntent yang dipicu saat diklik. Mulai Android 7.0 (API 24), input teks langsung melalui RemoteInput didukung.

Membuat tindakan dasar

Untuk membuat tombol dalam notifikasi, perlu ditentukan PendingIntent yang akan dijalankan saat diklik. PendingIntent dapat membuka Activity, menjalankan Service, atau BroadcastReceiver. Ikon tindakan harus monokrom dan sesuai dengan Material Design.

kotlin
val acceptIntent = Intent(context, AcceptActionReceiver::class.java)
acceptIntent.putExtra("notification_id", notificationId)

val acceptPendingIntent = PendingIntent.getBroadcast(
    context, requestCode,
    acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT
)

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .setSmallIcon(R.drawable.ic_notification)
    .setContentTitle("Permintaan konfirmasi")
    .setContentText("Konfirmasi penyelesaian tugas")
    .addAction(R.drawable.ic_accept, "Konfirmasi", acceptPendingIntent)
    .build()

Tindakan dengan input teks (RemoteInput)

Untuk skenario yang memerlukan input teks (misalnya membalas pesan), Android menyediakan RemoteInput. Pengguna memasukkan teks langsung di notifikasi, dan aplikasi menerimanya tanpa membuka Activity. RemoteInput didukung di Android 7.0+ dan memerlukan penanganan eksplisit di BroadcastReceiver atau Service.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Masukkan jawaban")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Balas", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .addAction(replyAction)
    .build()

Menangani tindakan di Android

Saat tindakan diklik, sistem menjalankan PendingIntent yang ditentukan. Untuk mendapatkan teks yang dimasukkan dari RemoteInput, panggil RemoteInput.getResultsFromIntent(intent). Disarankan untuk menangani tindakan di IntentService atau WorkManager agar tidak memblokir thread UI.

Notification Action di iOS

Di iOS, Notification Action diimplementasikan melalui framework UserNotifications. Pengembang membuat kategori tindakan (UNNotificationCategory) dan mendaftarkannya saat aplikasi dimulai. Setiap tindakan didefinisikan oleh objek UNNotificationAction dengan pengidentifikasi unik.

Mengonfigurasi kategori dan tindakan di iOS

Untuk menambahkan tindakan ke notifikasi push di iOS, perlu dibuat kategori yang mengelompokkan tindakan terkait. Kategori ditentukan dalam muatan notifikasi melalui bidang category. Setelah menerima notifikasi, sistem menampilkan tindakan yang tersedia dari kategori yang ditentukan.

swift
import UserNotifications

class NotificationSetup {

    func registerNotificationCategories() {
        let approveAction = UNNotificationAction(
            identifier: "APPROVE_ACTION",
            title: "Konfirmasi",
            options: [.foreground]
        )

        let declineAction = UNNotificationAction(
            identifier: "DECLINE_ACTION",
            title: "Tolak",
            options: [.destructive]
        )

        let category = UNNotificationCategory(
            identifier: "REQUEST_CATEGORY",
            actions: [approveAction, declineAction],
            intentIdentifiers: [],
            options: []
        )

        UNUserNotificationCenter.current()
            .setNotificationCategories([category])
    }
}

Menangani tindakan di iOS

Ketika pengguna mengeklik tindakan, sistem memanggil metode userNotificationCenter:didReceiveNotificationResponse di delegat UNUserNotificationCenter. response.actionIdentifier berisi pengidentifikasi tindakan yang dilakukan. Untuk input teks, digunakan UNTextInputNotificationAction yang menyediakan teks yang dimasukkan pengguna.

swift
extension AppDelegate: UNUserNotificationCenterDelegate {

    func userNotificationCenter(
        center: UNUserNotificationCenter,
        didReceive response: UNNotificationResponse,
        withCompletionHandler completionHandler: @escaping () -> Void
    ) {
        switch response.actionIdentifier {
        case "APPROVE_ACTION":
            Log.d("Action: approved")
        case "DECLINE_ACTION":
            Log.d("Action: declined")
        case UNNotificationDefaultActionIdentifier:
            Log.d("Action: opened app")
        default:
            break
        }
        completionHandler()
    }
}

Jenis dan skenario Notification Action

Notification Action diklasifikasikan berdasarkan jenis interaksi dan skenario penggunaan. Pemilihan jenis tindakan yang tepat secara langsung memengaruhi pengalaman pengguna dan konversi ke tindakan target.

Tombol yang membuka aplikasi

Jenis paling umum — tombol yang membuka aplikasi di layar tertentu. Di Android digunakan PendingIntent.getActivity(), di iOS — opsi .foreground untuk UNNotificationAction. Diterapkan untuk tindakan yang memerlukan antarmuka lengkap, misalnya melihat detail pesanan.

Tindakan latar belakang

Tindakan yang dijalankan tanpa membuka aplikasi. Di Android digunakan PendingIntent.getBroadcast() atau PendingIntent.getService(). Di iOS — opsi .authenticationRequired atau tanpa .foreground. Contoh: menandai tugas sebagai selesai, menyukai postingan, menambahkan ke favorit.

Input teks

Memungkinkan pengguna memasukkan teks langsung di notifikasi. Di Android diimplementasikan melalui RemoteInput, di iOS melalui UNTextInputNotificationAction. Digunakan untuk membalas pesan, komentar, memasukkan kode konfirmasi satu kali.

Tindakan destruktif

Tindakan yang mengubah data secara tidak dapat dibatalkan — hapus, tolak, blokir. Di Android ditandai secara visual (warna merah di beberapa sistem), di iOS memerlukan opsi .destructive. Disarankan meminta konfirmasi untuk tindakan destruktif, misalnya melalui dialog tambahan atau klik kedua.

Tindakan input dengan teks

Kelas tindakan terpisah — input teks langsung dari notifikasi. Di Android diimplementasikan melalui RemoteInput dalam kombinasi dengan PendingIntent. Di iOS digunakan UNTextInputNotificationAction yang mewarisi UNNotificationAction. Tindakan semacam itu digunakan untuk balasan cepat di aplikasi pesan, memasukkan kode promo, mengisi formulir umpan balik, atau mengevaluasi kualitas layanan. Teks yang dimasukkan dikirimkan ke aplikasi bersama dengan pengidentifikasi tindakan. Untuk penanganan input teks yang benar di kedua platform, perlu diimplementasikan penguraian data yang dimasukkan dan validasi sebelum menjalankan tindakan target.

Menangani klik dan pencatatan

Penanganan Notification Action yang benar sangat penting untuk analitik dan pengalaman pengguna. Setiap klik harus dicatat, dan tindakan harus dijalankan dengan andal, bahkan jika aplikasi ditutup.

Analitik dan pelacakan

Lacak setiap klik pada Notification Action melalui sistem analitik. Firebase Analytics, Mixpanel, atau Yandex.Metrica memungkinkan pencatatan pengidentifikasi tindakan, waktu klik, dan konteks notifikasi. Data ini membantu mengoptimalkan strategi notifikasi dan meningkatkan keterlibatan. Pengujian A/B dengan kumpulan tindakan yang berbeda membantu menentukan skenario interaksi pengguna yang paling efektif.

Penanganan andal saat aplikasi ditutup

Jika aplikasi ditutup, sistem tetap mengirimkan Intent atau UNNotificationResponse saat tindakan diklik. Di Android, gunakan BroadcastReceiver untuk penanganan terjamin. Di iOS, sistem meluncurkan aplikasi di latar belakang dan mengirimkan respons ke delegat. Untuk tindakan kritis (konfirmasi pembayaran, otorisasi), tambahkan mekanisme percobaan ulang dan pemberitahuan kepada pengguna tentang keberhasilan eksekusi.

Kustomisasi visual tombol di Android

Mulai Android 7.0, pengembang dapat memengaruhi tampilan Notification Action melalui ikon dan warna. Ikon harus monokrom (saluran alfa), berukuran 24x24 dp. Di iOS, kustomisasi tombol terbatas — menggunakan warna dan font sistem. Material Design merekomendasikan pengelompokan tindakan berdasarkan prioritas: tindakan terpenting pertama, tindakan destruktif terakhir.

Pertanyaan yang sering diajukan

Berapa banyak tindakan yang dapat ditambahkan ke satu notifikasi?

Di Android disarankan maksimal 3 tindakan, di iOS hingga 4. Melebihi batas menyebabkan beberapa tindakan tidak ditampilkan atau disembunyikan di submenu.

Bagaimana cara menambahkan ikon untuk Notification Action di Android?

Ikon diteruskan ke NotificationCompat.Action.Builder sebagai sumber daya drawable. Ikon harus monokrom (saluran alfa), berukuran 24x24 dp, dan sesuai dengan panduan Material Design.

Apakah Notification Action berfungsi di layar terkunci?

Ya, jika notifikasi ditampilkan di layar terkunci dan bendera visibility diatur ke VISIBILITY_PUBLIC. Di iOS, opsi .authenticationRequired diperlukan untuk tindakan yang memerlukan otorisasi.

Bagaimana cara menangani klik tindakan jika aplikasi dihapus dari memori?

Di Android, sistem membuat ulang proses dan mengirimkan Intent. Di iOS, sistem meluncurkan aplikasi di latar belakang. Pengiriman dapat dijamin dengan BroadcastReceiver di Android dan UNNotificationServiceExtension di iOS.

Apa perbedaan tindakan di Android dan iOS dari segi pengalaman pengguna?

Di Android, tindakan langsung terlihat di bawah notifikasi sebagai ikon. Di iOS, tindakan tersembunyi di balik tekan lama atau geser. Desain UX notifikasi harus mempertimbangkan perbedaan platform ini.

Kesimpulan

  • Notification Action — tombol dan kolom input di notifikasi push untuk interaksi cepat.
  • Di Android, tindakan dibuat melalui NotificationCompat.Action dengan PendingIntent.
  • Di iOS, tindakan didefinisikan melalui UNNotificationAction dengan pendaftaran kategori.
  • Input teks diimplementasikan melalui RemoteInput (Android) atau UNTextInputNotificationAction (iOS).
  • Jumlah maksimum tindakan — 3 untuk Android, 4 untuk iOS.
  • Setiap tindakan harus dicatat di sistem analitik untuk optimalisasi notifikasi.
  • Untuk penanganan andal, gunakan BroadcastReceiver di Android dan AppDelegate di iOS.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga