Notifikasi Push dalam Pengembangan Seluler: esensi, jenis, dan cara kerjanya

Penulis: IT Sectr Diterbitkan: 2026-03-15 Waktu membaca: 9 mnt

Notifikasi push adalah salah satu cara paling efektif untuk berinteraksi dengan pengguna setelah instalasi aplikasi. Notifikasi ini memungkinkan untuk memberi tahu tentang pesan baru, diskon, pembaruan konten, atau mengingatkan tentang keranjang yang ditinggalkan. Notifikasi push (push notifications) bekerja melalui layanan cloud: Firebase Cloud Messaging (FCM) di Android dan Apple Push Notification Service (APNS) di iOS. Dalam artikel ini kita akan membahas arsitektur notifikasi, jenisnya, dan proses pengaturan untuk kedua platform. Informasi lebih lanjut — di dokumentasi resmi FCM.

Poin Penting

  • FCM — layanan universal untuk Android dan iOS (melalui proxy APNS)
  • APNS — layanan asli Apple untuk iOS, macOS, watchOS
  • Rich Notifications berisi konten media (gambar, tombol, audio) melalui App Extensions
  • Silent Push memperbarui data di latar belakang tanpa menampilkan kepada pengguna
  • Device Token — pengidentifikasi perangkat unik; harus disimpan dan diperbarui di server
  • Notification Channels (Android) dan Notification Categories (iOS) — pengelompokan dan penyesuaian notifikasi oleh pengguna

Apa itu notifikasi push?

Notifikasi push adalah pesan yang dikirim server ke perangkat seluler tanpa permintaan dari aplikasi. Pesan melewati layanan cloud (FCM atau APNS) yang mengirimkannya ke perangkat bahkan jika aplikasi ditutup. Notifikasi dibagi menjadi dua jenis: notifikasi tampilan (ditampilkan kepada pengguna) dan notifikasi data (mengirimkan data untuk pemrosesan latar belakang).

Arsitektur notifikasi push mencakup tiga komponen: (1) server aplikasi — mengirim permintaan ke FCM/APNS; (2) layanan cloud — merutekan notifikasi; (3) aplikasi klien — menerima dan memproses notifikasi. Server harus mengetahui Device Token perangkat untuk mengirim notifikasi secara khusus kepadanya. Untuk pengiriman massal digunakan Topic Subscription — langganan perangkat ke saluran tematik (berita, promosi, cuaca).

Di setiap perangkat, notifikasi diproses oleh sistem operasi: Android — melalui NotificationManager dan NotificationChannel, iOS — melalui UNUserNotificationCenter. Pengguna dapat mengonfigurasi perilaku notifikasi untuk setiap saluran: mengizinkan suara, spanduk, tampilan di Layar Kunci, atau menonaktifkan sepenuhnya. Konfigurasi saluran yang tepat meningkatkan keterlibatan dan mengurangi tingkat berhenti berlangganan.

Di IT Sectr, kami merancang sistem notifikasi push dengan mempertimbangkan fitur spesifik platform sejak awal. Keputusan utama: pilihan antara FCM dan APNS langsung, format payload, frekuensi pengiriman, dan mekanisme langganan. Ini membantu menghindari situasi di mana notifikasi tidak sampai atau diblokir oleh sistem.

FCM vs APNS

Firebase Cloud Messaging (FCM) adalah layanan lintas platform Google untuk mengirimkan notifikasi. FCM mendukung Android, iOS, Web, dan Flutter. Di iOS, FCM bekerja melalui APNS: FCM mengirim permintaan ke APNS, yang mengirimkan notifikasi ke perangkat. Keuntungan FCM: API tunggal untuk kedua platform, analitik bawaan, pengujian A/B, topik, dan segmen audiens.

Apple Push Notification Service (APNS) adalah layanan asli Apple. Hanya bekerja di perangkat Apple (iOS, macOS, watchOS, tvOS). Memerlukan otorisasi langsung melalui sertifikat TLS atau token (JWT). APNS menyediakan latensi pengiriman minimal dan integrasi langsung dengan fitur iOS: PushKit, Notification Service Extension, dan Peringatan Kritis.

Pilihan antara FCM dan APNS tergantung pada arsitektur proyek. Jika aplikasi hanya untuk iOS — APNS memberikan kontrol lebih. Jika lintas platform — FCM lebih nyaman dengan API tunggal. Banyak proyek menggunakan FCM sebagai layanan utama dan mengonfigurasi PushKit tambahan untuk VoIP di iOS. Pendekatan hibrida memungkinkan mendapatkan yang terbaik dari kedua sistem.

Karakteristik FCM APNS
PlatformAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
OtorisasiKunci Server (Firebase Console)Sertifikat TLS atau token JWT
Payload maksimum4 KB (data), 2 KB (notification)4 KB
TopikBawaan (Topic Messaging)Tidak (diimplementasikan di sisi server)
Silent PushDidukungDidukung (content-available)
PushKitTidakYa (VoIP, aktivitas langsung)
AnalitikFirebase AnalyticsTidak ada bawaan
Pengiriman ke perangkat matiTerbatas (tergantung pabrikan)Ya, melalui PushKit

Jenis notifikasi (Rich, Silent, Interactive)

Rich Notification (Notifikasi kaya)

Rich Notification adalah notifikasi yang berisi tidak hanya teks tetapi juga konten media: gambar, video, audio, dan tombol tindakan. Di Android diimplementasikan melalui gaya NotificationCompat: BigPictureStyle (gambar besar), BigTextStyle (teks diciutkan/diperluas), InboxStyle (daftar pesan), MediaStyle (kontrol pemutaran). Di iOS digunakan Notification Content Extension — target terpisah dengan UI khusus untuk notifikasi yang diperluas.

Silent Push (Notifikasi senyap)

Silent Push (content-available di iOS) adalah notifikasi yang dikirimkan tanpa ditampilkan kepada pengguna. Ini ditujukan untuk pembaruan data latar belakang: sinkronisasi konten, pramuat, pembaruan widget. Di iOS, Silent Push memerlukan mengaktifkan Background Modes → Remote notifications. Di Android untuk menangani notifikasi latar belakang digunakan FirebaseMessagingService dengan onMessageReceived. Penting: di iOS, Silent Push memiliki batasan frekuensi dan tidak menjamin pengiriman jika aplikasi tidak berada di latar depan.

Interactive Notification (Notifikasi interaktif)

Interactive Notification memungkinkan pengguna melakukan tindakan tanpa membuka aplikasi. Di Android ini adalah tombol (Action) dalam notifikasi: "Balas", "Setujui", "Tolak". Tindakan diproses melalui PendingIntent, yang meluncurkan BroadcastReceiver atau Service. Di iOS, Notification Action didaftarkan melalui UNNotificationAction dan UNNotificationCategory. Tombol bisa berupa foreground (membuka aplikasi), background (menjalankan di latar belakang), atau destructive (tindakan tidak dapat dibatalkan — hapus, blokir).

Notification Content Extension dan Service Extension

Notification Content Extension (iOS) — pengontrol tampilan khusus untuk menampilkan konten notifikasi yang diperluas saat tekan lama atau 3D Touch. Notification Service Extension (iOS) — middleware untuk memodifikasi konten notifikasi sebelum ditampilkan: mendekripsi pesan E2E, memuat gambar, mengaburkan data rahasia. Di Android tidak ada analog langsung — semua modifikasi dilakukan di FirebaseMessagingService.

Pengaturan notifikasi di Android dan iOS

Pengaturan di Android

Untuk Android diperlukan: (1) menambahkan Firebase SDK ke proyek (google-services.json); (2) membuat NotificationChannel (Android 8+) untuk setiap kategori notifikasi; (3) mengimplementasikan FirebaseMessagingService untuk menerima token dan pesan masuk. Notification Channel wajib — tanpanya notifikasi tidak akan ditampilkan di Android 8+. Saluran memiliki prioritas (IMPORTANCE_HIGH — suara + popup, IMPORTANCE_LOW — tanpa suara) dan dapat dikonfigurasi oleh pengguna di pengaturan sistem.

Pengaturan di iOS

Untuk iOS diperlukan: (1) mengaktifkan kemampuan Push Notifications di Xcode; (2) mengonfigurasi kunci APNS di Apple Developer Portal; (3) meminta otorisasi melalui UNUserNotificationCenter.requestAuthorization — ini adalah dialog sistem yang ditampilkan sekali. Tanggapan pengguna sangat penting: jika izin tidak diberikan, notifikasi tidak akan dikirimkan. Disarankan untuk menjelaskan kepada pengguna mengapa notifikasi diperlukan sebelum menampilkan dialog sistem (pre-permission prompt).

Alat dan Token

Device Token (iOS) dan Registration Token (Android) adalah pengidentifikasi perangkat unik untuk notifikasi push. Token dihasilkan saat pertama kali aplikasi dijalankan dan dapat berubah: saat instalasi ulang, penghapusan data, pengaturan ulang privasi. Server harus memperbarui token secara teratur. Firebase menyediakan API yang nyaman untuk manajemen token melalui onNewToken, serta panel untuk pengiriman notifikasi uji (Firebase Console → Cloud Messaging).

Topic Subscription adalah salah satu mekanisme FCM yang paling efektif. Perangkat berlangganan ke topik (misalnya, "news", "promo_users_ios"), dan server mengirim notifikasi berdasarkan topik tanpa perlu menyimpan daftar token. Firebase Topics mendukung hingga satu juta pelanggan per topik dan pengiriman bersyarat (Condition) melalui bahasa ekspresi: "'news' in topics && ('US' in topics || 'UK' in topics)".

Notification Payload adalah struktur JSON yang dikirim melalui FCM/APNS. Untuk FCM: notification terpisah (bagian yang terlihat — judul, tubuh, gambar) dan data (bidang khusus untuk aplikasi). Untuk APNS: kamus aps dengan alert, badge, sound, category, dan content-available. Struktur payload yang benar sangat penting: jika notification + data tiba bersamaan, aplikasi di latar belakang mungkin tidak menerima data. Disarankan hanya menggunakan pesan data untuk Android dan mengirimkan bidang visual secara terpisah melalui FCM Console.

Pertanyaan yang Sering Diajukan

Apa perbedaan antara FCM dan APNS?

FCM (Firebase Cloud Messaging) adalah layanan Google untuk Android dan notifikasi lintas platform. APNS (Apple Push Notification Service) adalah layanan Apple hanya untuk iOS/macOS. FCM dapat mengirimkan notifikasi melalui APNS di iOS, bertindak sebagai server proxy.

Apa itu Rich Notification?

Rich Notification adalah notifikasi yang ditingkatkan dengan konten media: gambar, video, audio, tombol tindakan. Di iOS diimplementasikan melalui Notification Content Extension; di Android melalui BigPictureStyle dan InboxStyle.

Bagaimana cara kerja Device Token?

Device Token adalah pengidentifikasi perangkat unik untuk mengirim notifikasi push. Di Android ini adalah Registration Token dari FCM; di iOS adalah Device Token dari APNS. Token dapat berubah saat instalasi ulang aplikasi atau pengaturan ulang, sehingga perlu diperbarui di server.

Apa itu Silent Push dan mengapa diperlukan?

Silent Push (notifikasi senyap) adalah notifikasi tanpa ditampilkan kepada pengguna. Digunakan untuk pembaruan data latar belakang: sinkronisasi konten, pembaruan widget, pengambilan awal. Di iOS memerlukan mengaktifkan Background Modes → Remote notifications.

Apa perbedaan PushKit dengan notifikasi push biasa?

PushKit adalah kerangka kerja Apple untuk mengirimkan notifikasi prioritas tinggi yang digunakan dalam aplikasi VoIP (panggilan, perpesanan). PushKit mengirimkan notifikasi bahkan jika aplikasi dimatikan dan menjamin peluncuran aplikasi untuk pemrosesan.

Ringkasan

  • FCM — layanan lintas platform Google; APNS — layanan asli Apple
  • Rich Notification mencakup media dan tombol; Silent Push memperbarui data tanpa ditampilkan
  • Notification Channel (Android) dan Notification Category (iOS) — wajib untuk mengelompokkan notifikasi
  • Device Token — pengidentifikasi unik; harus diperbarui secara teratur di server
  • Topic Subscription menyederhanakan pengiriman massal tanpa menyimpan daftar token
  • PushKit — untuk notifikasi kritis (VoIP, peringatan vital)
  • Notification Payload harus terstruktur sesuai platform: notification + data untuk FCM, aps untuk APNS

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