Siri mari belajar – Notifikasi Mobile

Jika anda mempunyai telefon bimbit Android atau Apple, anda sudah terbiasa notifikasi email, Whatsapp atau Facebook yang biasa anda tunggu-tunggu. Kebiasaan ini hanya menjadi normal pada Apple iOS pada tahun 2009 dan Android pada tahun 2010.

Mobile notifikasi sebelum secara rasmi diwujudkan oleh Android dan Apple menggunakan konsep pull (tarik)

Aplikasi mobile : Ada tak notifikasi untuk aku ? 
Server : Takde lagi
Aplikasi mobile : Ada tak notifikasi untuk aku ?
Server: Ok ada, ni dia.

Konsep pull ini banyak menggunakan bateri kerana setiap saat, semua aplikasi akan bertanya kepada server masing-masing, menyebabkan banyak proses berlaku di belakang.

Mobile push notification menggunakan konsep push (tolak) dan

Aplikasi mobile  : Hi Notification service, kalau ada mesej kejut aku
Notification Service : Ok
Server: Hey Notification Service, ada mesej untuk Applikasi mobile A, tolong hantarkan
Notification Service: Hey Aplikasi mobile A, ada mesej.

Oleh kerana hanya ada satu connection ke Notification service, dikatakan lebih menjimatkan bateri.

Untuk iOS , servis notifikasi dipanggil APNS (Apple Notification Service) dan di Android di panggil FCM (Firebase Cloud Messaging) di mana sebelum nya di panggil GCM (Google Cloud Messaging)  dan sebelumnya dipanggil C2DM (Android Cloud to Device Messaging). Untuk artikel ini saya merujuk kepada APNS (iOS) dan FCM (Android) untuk sebarang rujukan notifikasi mobile.

Jenis notifikasi mobil

Ada 2 proses besar dalam notikasi mobile

  1. Mendaftar notifikasi mobile dari aplikasi
  2. Menghantar notifikasi mobile

Proses pertama adalah mendaftar push notifikasi dari mobile. Aplikasi perlu tahu

  • Device Token – Unik Token yang dari server notifikasi APNS @ FCM (akan berubah)
  • Device ID – Unik ID dari device (bergantung kepada programming language akan generate Unik ID berdasarkan IMEI atau gabungan beberapa parameter)
  • Sistem Operasi – Android atau iOS
  • Akaun – user mana yang mendaftar dalam aplikasi tersebut

Device Token akan diperolehi dari server notifikasi APNS @ FCM , ia akan berubah dengan bergantung kepada situasi seperti instalasi baharu aplikasi.

Ada beberapa senario yang perlu diselesaikan dengan data yang diberi di atas

  • Satu mobile mendaftar satu akaun
  • Satu mobile mendaftar 2 atau lebih akaun
  • 2 atau lebih mobile mendaftar satu akaun

Jadi dalam pangkalan data, perlu menyimpan data tersebut, supaya apabila notifikasi perlu dihantar kita tahu device mana yang perlu di hantar, sama ada Android atau iOS dan berapa device yang perlu terima notifikasi tersebut.

Semua ini boleh dihantar bila-bila apabila pengguna berinteraksi dengan aplikasi kita. Dalam aplikasi partner Wahdah, kami menghantar data ini ketika pengguna login masuk ke dalam aplikasi, jika device id sama, kami update, jika baharu, satu row baharu di tambah.

Contoh table di Wahdah

Penghantaran notifikasi mobile

Kebiasaannya  ada dua senario untuk menghantar ketika berlaku event seperti tempahan masuk, kereta tamat tempoh insurance atau mesej dari pelanggan. Satu lagi ketika kami menghantar promosi jika ada kempen seperti diskaun dan juga pengumuman produk baharu.

Apabila berlaku event seperti tempahan masuk notifikasi akan periksa akaun mana yang terlibat dan senaraikan semua device yang didaftar ke akaun tersebut dan hantar notifikasi ke device terlibat. Notifikasi biasanya akan dihantar sekali dengan proses email dan SMS. Untuk mengelakkan pelanggan merasa di spam dengan notifikasi,  mungkin boleh diperiksa, jika pelanggan sudah online di mobile, hanya mobile notifikasi dan email di hantar, dan jika tiada SMS dan email dihantar.

Selain dari itu, ada banyak servis-servis luar seperti OneSignal , Amazon SNS atau menggunakan FCM (Firebase Cloud Messaging)  sahaja untuk menghantar ke Android & APNS sekaligus.

Konsep notifikasi mobile adalah mudah, tetapi anda perlu faham bahawa banyak logik perlu dijana dari aplikasi anda. Server notifikasi hanya bertugas untuk menghantar notifikasi dan tidak lebih dari itu.