Interactive Notification — adalah pemberitahuan push dengan elemen interaktif yang memungkinkan Anda melakukan tindakan tanpa membuka aplikasi. Menurut Apple Human Interface Guidelines (2025), notifikasi semacam itu mengurangi jumlah langkah menuju tindakan target hingga 40%. Tombol tindakan dan bidang input memberi pengguna kemampuan untuk membalas pesan, membayar langganan, atau mengonfirmasi reservasi langsung dari panel notifikasi, tanpa membuka aplikasi.
Utama
Interactive Notification — adalah format pemberitahuan push yang diperluas yang berisi elemen kontrol interaktif: tombol, sakelar, dan bidang input teks. Berbeda dengan notifikasi standar yang hanya menginformasikan, notifikasi interaktif memungkinkan pengguna untuk melakukan tindakan target langsung dari panel atau layar kunci. Menurut Google Material Design (2025), notifikasi interaktif diproses oleh sistem operasi tanpa memulai proses utama aplikasi — ini menghemat baterai dan mempercepat respons. Pengembang menentukan kumpulan tindakan melalui kategori di iOS dan saluran di Android, dan sistem menampilkannya tergantung pada konteks.
Setiap notifikasi interaktif terdiri dari tiga tingkat: konten utama (judul, tubuh), tindakan (tombol) dan input teks opsional. Di iOS komponen-komponen ini digabungkan melalui UNNotificationCategory, dan di Android — melalui NotificationCompat.Action.Builder. Sistem menampilkan tombol di bawah teks notifikasi dalam bentuk yang diciutkan atau diperluas tergantung pada versi OS dan panjang teks. Pengguna melihat tindakan yang tersedia segera setelah menerima notifikasi dan dapat melakukan salah satunya tanpa masuk ke aplikasi.
Mekanisme kerja Interactive Notification dibagi menjadi dua fase: pendaftaran kategori saat aplikasi dimulai dan pemrosesan tindakan saat pengguna menekan tombol. Pada fase pendaftaran, pengembang membuat objek kategori dengan serangkaian tindakan — setiap tindakan memiliki pengidentifikasi, judul, dan opsi. Saat menerima pemberitahuan push, sistem mencocokkannya dengan kategori yang terdaftar melalui bidang categoryIdentifier dan secara otomatis menambahkan tombol yang sesuai. Ketika pengguna menekan tombol, sistem memanggil delegasi UNUserNotificationCenter atau PendingIntent di Android dengan pengidentifikasi tindakan dan mengirimkan hasilnya kembali ke aplikasi. Menurut WWDC 2024, waktu pemrosesan tindakan interaktif di iOS tidak melebihi 200 ms dengan konfigurasi yang benar.
Notifikasi interaktif dibagi menjadi tiga jenis utama berdasarkan metode interaksi: berbasis tombol, teks, dan multimedia. Setiap jenis menyelesaikan tugasnya sendiri dan diterapkan dalam skenario tertentu. Pemilihan jenis tergantung pada konteks — semakin sedikit langkah yang diperlukan pengguna, semakin tinggi konversinya. Apple dan Google merekomendasikan penggunaan tombol untuk konfirmasi, bidang input untuk jawaban, dan media untuk pratinjau konten.
Jenis yang paling umum — notifikasi dengan satu atau beberapa tombol, yang masing-masing melakukan tindakan yang telah ditentukan. Misalnya, tombol «Terima» dan «Tolak» untuk acara kalender, «Suka» dan «Balas» untuk pesan. Di iOS didukung hingga empat tombol, di Android — hingga tiga. Tombol dapat dikelompokkan berdasarkan prioritas: biasa dan destruktif (dengan konfirmasi). Apple merekomendasikan tidak lebih dari dua tombol utama untuk kenyamanan pengguna di layar kunci.
RemoteInput — teknologi yang memungkinkan pengguna memasukkan teks langsung di notifikasi tanpa membuka aplikasi. Di iOS digunakan UNTextInputNotificationAction, di Android — RemoteInput.Builder dengan kunci untuk mengekstrak teks yang dimasukkan. Paling sering digunakan di aplikasi perpesanan untuk membalas pesan dengan cepat. Teks yang dimasukkan dikirim ke aplikasi melalui layanan notifikasi atau penangan lokal. Keterbatasan — teks tidak boleh berisi format, hanya string biasa.
Notifikasi dengan lampiran multimedia memungkinkan menampilkan gambar, audio, dan video langsung di panel. Di iOS ini dilakukan melalui UNNotificationAttachment, di Android — melalui NotificationCompat.MessagingStyle dengan BigPictureStyle. Media diunggah oleh server penyedia push dan dikirim bersama notifikasi sebagai lampiran. Ukuran lampiran terbatas — Apple merekomendasikan tidak lebih dari 10 MB, Google — tidak lebih dari 1 MB untuk gambar. Konten multimedia meningkatkan informativitas notifikasi untuk berita, marketplace, dan media sosial.
Di iOS, Interactive Notification diimplementasikan melalui framework UserNotifications menggunakan UNNotificationCategory dan UNNotificationAction. Aplikasi mendaftarkan kategori saat startup, dan saat menerima notifikasi, sistem secara otomatis menampilkan tombol yang sesuai. Untuk memproses tindakan, perlu mengimplementasikan metode userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler. Di bawah ini adalah contoh pendaftaran kategori dengan tombol dan input teks di Swift.
import UserNotifications
let replyAction = UNTextInputNotificationAction(
identifier: "reply",
title: "Balas",
options: [.authenticationRequired],
textInputButtonTitle: "Kirim",
textInputPlaceholder: "Masukkan pesan..."
)
let category = UNNotificationCategory(
identifier: "message",
actions: [replyAction],
intentIdentifiers: [],
options: []
)
UNUserNotificationCenter.current()
.setNotificationCategories([category])
Setelah memanggil setNotificationCategories, sistem menyimpan kategori dan menggunakannya untuk semua notifikasi berikutnya. Kode harus dipanggil setiap kali aplikasi dimulai untuk menyinkronkan kategori dengan versi baru. Pemrosesan respons dilakukan di delegasi pusat notifikasi — aplikasi menerima pengidentifikasi tindakan dan teks yang dimasukkan untuk diproses lebih lanjut.
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completion: @escaping VoidBlock
) {
if response.actionIdentifier == "reply" {
let textResponse = response as! UNTextInputNotificationResponse
let message = textResponse.userText
sendMessage(message)
}
completion()
}
Metode userNotificationCenter dipanggil oleh sistem setelah pengguna menekan tombol atau mengirim teks. Di dalam handler, actionIdentifier diperiksa — jika cocok dengan pengidentifikasi yang terdaftar, aplikasi mengekstrak teks yang dimasukkan dari userText dan mengirimkannya ke server. Untuk tombol biasa tanpa input teks, UNNotificationResponse digunakan tanpa konversi.
Di Android, notifikasi interaktif dibuat melalui kelas NotificationCompat dengan metode addAction dan RemoteInput. Berbeda dengan iOS, Android tidak memerlukan pendaftaran kategori sebelumnya — tindakan ditambahkan langsung ke setiap notifikasi melalui Builder. Ini memberikan fleksibilitas lebih: setiap notifikasi dapat memiliki kumpulan tombol yang unik. Di bawah ini adalah contoh notifikasi dengan tombol balas di Java menggunakan RemoteInput.
RemoteInput remoteInput = new RemoteInput.Builder("key_reply")
.setLabel("Balas")
.build();
PendingIntent replyIntent = PendingIntent.getBroadcast(
this, 1001,
new Intent("ACTION_REPLY"),
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationCompat.Action action =
new NotificationCompat.Action.Builder(
R.drawable.ic_reply,
"Balas", replyIntent
)
.addRemoteInput(remoteInput)
.build();
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this, "messages")
.setContentTitle("Pesan baru")
.setContentText("Halo! Apa kabar?")
.setSmallIcon(R.drawable.ic_notification)
.addAction(action);
NotificationManagerCompat.from(this)
.notify(100, builder.build());
Elemen kuncinya adalah RemoteInput yang menghubungkan bidang input dengan tindakan. Saat tombol «Balas» ditekan, sistem membuka dialog input teks di dalam notifikasi. Setelah dikirim, teks dikirim melalui Intent ke BroadcastReceiver atau Activity sesuai dengan PendingIntent yang ditentukan. Untuk mendapatkan teks di penerima, gunakan RemoteInput.getResultsFromIntent(intent) dengan kunci «key_reply».
Bundle results = RemoteInput.getResultsFromIntent(intent);
if (results != null) {
CharSequence reply = results.getCharSequence("key_reply");
if (reply != null) {
sendReplyToServer(reply.toString());
}
}
Metode getResultsFromIntent mengekstrak teks yang dimasukkan pengguna dari Intent yang dikirim oleh sistem saat mengirim respons. Hasilnya dikembalikan sebagai CharSequence, yang diubah menjadi string untuk dikirim ke server. Jika pengguna menutup dialog input tanpa mengirim, results akan kosong — ini harus diperhitungkan saat pemrosesan. Pendekatan ini memungkinkan respons cepat tanpa memulai Activity.
Interactive Notification diterapkan di aplikasi jenis apa pun yang memerlukan tindakan cepat pengguna. Skenario paling efektif — aplikasi perpesanan untuk membalas pesan, e-commerce untuk mengonfirmasi pesanan, dan kalender untuk menerima undangan. Menurut Localytics (2025), aplikasi dengan notifikasi interaktif menunjukkan retensi 28% lebih tinggi pada hari ke-7. Di bawah ini adalah tabel dengan skenario populer dan fitur platform.
| Skenario | Tindakan | Platform |
|---|---|---|
| Pesan | Balas dengan teks, Suka | iOS + Android |
| E-commerce | Konfirmasi, tunda, batalkan | iOS + Android |
| Kalender | Terima, tolak, mungkin | iOS |
| Berita | Simpan, bagikan, buka | Android |
| Reservasi | Konfirmasi, jadwal ulang, batalkan | iOS + Android |
Saat mendesain notifikasi interaktif penting untuk mempertimbangkan keterbatasan — pengguna hanya dapat melakukan tindakan sekali. Setelah menekan tombol, notifikasi menghilang atau beralih ke status «selesai». Oleh karena itu, setiap tindakan harus tidak dapat diubah atau memerlukan konfirmasi pada langkah kedua.
Pertanyaan yang sering diajukan
Interactive Notification — adalah pemberitahuan push dengan tombol, bidang input, atau lampiran multimedia yang memungkinkan pengguna melakukan tindakan tanpa membuka aplikasi. Didukung di iOS melalui UserNotifications dan di Android melalui NotificationCompat.
Notifikasi biasa hanya memberi informasi — pengguna menekan dan membuka aplikasi. Notifikasi interaktif berisi tombol atau bidang input, dan tindakan dilakukan langsung di panel. Ini mempersingkat jalan menuju tindakan target dan mengurangi beban aplikasi.
Di iOS didukung hingga empat tombol, di Android — hingga tiga. Di Android, dua tombol ditampilkan di panel notifikasi, yang ketiga tersedia di menu tarik-turun. Apple merekomendasikan tidak lebih dari dua tombol utama untuk kenyamanan pengguna di layar kunci.
Di iOS menggunakan UNTextInputNotificationAction, di Android — RemoteInput.Builder dengan kunci. Pengguna memasukkan teks di kotak dialog dalam notifikasi, dan aplikasi menerimanya melalui delegasi atau Intent tanpa memulai Activity.
Menerima pemberitahuan push memerlukan koneksi internet, tetapi interaktivitas itu sendiri (menampilkan tombol, input teks) berfungsi secara offline. Pengiriman hasil ke server dapat ditunda hingga koneksi pulih.
Kesimpulan
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.
Baca juga