alert_push

untuk mengirimkan notifikasi kepada pengguna mobile app

alert_push($to, $title, $message, $module = 'content', $arguments = array(), $action = 'default', $sending_id=0);

  • $to: penerima dari notifikasi yang bisa anda isi seperti:
    • -1 jika diisi angka -1 (minus satu) maka semua pengguna aplikasi akan mendapat notifikasi atau bs juga dimasukkan '/topics/userAll'
    • Integer dari field ID di table `bbc_user`
    • Array yang berisi kumpulan dari field ID di table `bbc_user`
    • String
      • username dari user yang ingin di kirim
      • prefix "group:" kemudian diikuti dengan Integer dari field ID di table `bbc_user_group`
      • 'userID-groupID' jika ingin mengirim ke pengguna aplikasi yg khusus user group tertentu
        • Contoh kasus: user_id 1 masuk kedalam group_id 3 dan 4. Semisal 3=Driver dan 4=Penumpang
        • Sedangkan aplikasi Driver dan aplikasi penumpang itu berbeda dan ingin mengirim notif ke user tersebut untuk aplikasi Driver saja
      • '/topics/topicName' maka akan mengirim ke semua member yg subscribe ke topic dengan nama 'topicName'
  • $title: String judul notifikasi
  • $message: String pesan notifikasi
  • $module: String module yang dituju ketika notifikasi dibuka oleh pengguna aplikasi dengan format [namamodule]/[namatask] di mana namatask jika dikosongkan akan menuju ke index dari module tersebut
  • $arguments: Array parameter yang akan dikirimkan ke $module di dalam aplikasi tersebut
  • $action: String identifikasi jika ada penambahan action dimana notifikasi tersebut akan diperlakukan secara berbeda mengikuti script yang ada di mobile app nya
  • $sending_id: id dr table bbc_user_push_sending hanya digunakan di modules/_cpanel/admin/user/fcm_send.php untuk mengupdate progress pengiriman
function ini hanya menyimpan data message yang akan dikirimkan, sedangkan pengiriman nya akan di lakukan secara background pada function alert_push_send untuk menjaga performa system dan stabilitas server. Sedangkan setiap notifikasi ketika di baca oleh user maka anda HARUS mengkonfirmasi kembali bahwa message atau notif tersebut telah terbaca ke URL dari domain yang mengirim notif semisal domain nya adalah aku.com maka url yang perlu anda akses adalah url aku.com/user/push-read dengan parameter POST notif_id dan secretkey.

sedangkan untuk mengkases daftar notifikasi bisa diambil dari url aku.com/user/push-notif menggunakan method POST dengan parameter:
$user_id   = [opsional]
$group_id  = [opsional] comma separated or Array
$username  = [opsional]
$token     = [wajib]
$push_id   = [optional] ID dari hasil return push-token sebelumnya untuk diupdate (biasanya krn update token krn tolen ada umurnya)
$old_id    = [optional] ID dari hasil return push-token sebelumnya untuk dihapus
$device    = [optional] nama atau jenis device yang digunakan untuk membuka app
$secretkey = _class('crypt')->encode(_SALT.'|'.date()'Y-m-d H:i:s');
$group_id jika dikosongkan atau tidak ada maka daftar notifikasi yang di listkan adalah semua notifikasi untuk user tersebut, tidak perduli dia berada di group user apapun

untuk key 'secretkey' sendiri adalah hasil encode dari format _SALT.'|'.yyyy-mm-dd HH:ii:ss

AKTIFASI FITUR PUSH NOTIF
function ini hanya bisa digunakan apabila table bbc_user_push sudah di aktifkan, untuk mengaktifkan silahkan ke admin "control panel / user manager" dibagian bawah table akan muncul tombol untuk mengaktifkan fitur push notif jika belum aktif. Tetapi sebelumnya anda harus menambahkan variable constant _FCM_SENDER_ID dan _FCM_SERVER_JSON pada config.php.
Berikut keterangan untuk tiap const variable yang bisa di pakai 
  1. _FCM_ICON_BG
    • berisi warna background yang akan digunakan ketika device (android) menampilan notification contoh: #f68c29
  2. _FCM_SENDER_ID
    • masuk ke firebase console
    • pilih project yang ingin di pilih
    • masuk ke project setting
    • click tab "Cloud Messaging"
  3. _FCM_SERVER_JSON
    • masuk ke google console
    • pilih project yang akan digunakan (bisa juga dr link "Manage Service Accounts" disamping Sender ID di gambar atas)
    • pilih salah satu email dr service account yang tersedia
    • masuk ke tab "KEYS"
    • klik ADD KEY lalu Create new key dan pilih JSON
    • file JSON akan otomatis terdownload dan copy isi dari file tsb. sebagai value dari constant variable _FCM_SERVER_JSON 

 

File Path: includes/function/alert.php function untuk membuat notifikasi yang ditujukan untuk pengguna baik member maupun admin

0 Comment

Post Your Comment

Terakhir Dilihat