Tanggal :4 Agustus 2020
Mengirim Push Notification dengan Laravel FCM

Mengirim Push Notification dengan Laravel FCM

Awal Cerita Laravel FCM

Assalamualaikum Warohmatulloh Wabarokatuh, FCM atau Firebase Cloud Messaging adalah salah satu hal yang sering sekali saya gunakan waktu kerja. Karena kebanyakan kerjaan saya adalah mendevelop API yang berhubungan dengan aplikasi android yang membutuhkan FCM untuk push notification. Karena hal tersebut akhirnya jadilah sebuah package yang memudahkan saya untuk hal tersebut, saya beri nama Laravel FCM.

Awalnya saya buat package ini hanya untuk sekedar kebutuhan pribadi & sedang belajar tentang pembuatan package di Laravel. Jadi sekalian belajar & dapat manfaat dari package yang dibuat. Fungsi dari package ini juga sebenarnya sangat sederhana, hanya wrapper dari Curl untuk mengirim push notification ke Firebase.

Tidak Dimaintain

Package ini saya buat pada tahun 2017 dan ternyata mendapatkan respon yang tidak saya duga, ada beberapa star untuk package ini. Awalnya saya terapkan pada proyek yang sedang saya kerjakan dan menemukan beberapa bug, entah pada proses instalasi atau secara fungsionalitasnya. Saya perbaiki sampai stabil menurut versi saya.

Akhir 2017, saya berhenti dari pekerjaan sebagai web developer dan menjadi pawang di Kawan Koding sepenuhnya. Karena saya sudah tidak melakukan kegiatan development otomatis saya juga tidak lagi menggunakan package yang saya buat tadi. Karena tidak menggunakan jadi saya pun tidak melakukan maintain untuk package ini.

Ternyata ada beberapa orang yang memberikan kontribusi ke package ini, mulai dari menambahkan kompabilitas untuk versi Laravel terbaru, memperbaiki struktur kode, membuat issue dan menambahkan fungsionalitasnya hingga bisa digunakan untuk Lumen.

Ada total 11 kontributor yang tercatat pada halaman kontributor di Github.

Cara Mudah Mengirim Push Notification dengan Laravel FCM
Kontributor Laravel FCM

Saya sangat waktu itu saya memang sudah tidak ada niatan melanjutkan maintain package ini. Sampai ada pull-request yang masuk dari @erlangp saya sudah melihat notifikasinya di email. Tapi, saya tidak melakukan tindakan apapun untuk hal tersebut. Sampai akhirnya Mas @erlangp mengirim pesan ke Telegram saya. Karena sampai seperti itu, akhirnya saya respon pull-request tersebut, karena pasti benar – benar digunakan. Dan setelahnya Mas @erlangp sering sekali memberikan kontribusinya ke package ini.

Penambahan terakhir agar package mendukung penggunaan di Lumen dikontribusikan oleh Mas @andriyanndriyan.

Terima kasih untuk semua kontributor, ternyata seperti ini ya kekuatan dari open source.

Statistik Package Laravel FCM

Oke, kita bicara tentang statistik sekarang. Setelah 3 tahun usia pacakge ini, mungkin ini statistik yang terlihat biasa. Tapi bagi saya pribadi ini adalah sebuah hal yang sangat tidak saya duga sebelumnya.

Pada repositori Github, saat tulisan ini dibuat ada 103 bintang, 32 fork dan ada 62 repositori di Github yang menggunakan.

Mengirim Push Notification dengan Laravel FCM
Statistik Github Laravel FCM
Statistik Github Laravel FCM

Kemudian untuk statistik yang dicatat oleh packagist terdapat sebanyak 43 103 jumlah download. Angka yang sangat tidak pernah saya bayangkan sebelumnya untuk proyek iseng ini hehe.

Statistik packagist kawankoding/laravel-fcm
Statistik packagist Laravel FCM

Penggunaan

Setelah banyak cerita, sekarang kita praktek sedikit ya untuk penggunaannya.

Pertama, tentu kita harus instal dulu package ke dalam proyek kita. Lakukan dengan composer.

$ composer require kawankoding/laravel-fcm "^0.2.0"

Untuk versi Laravel dibawah 5.5, wajib mendaftarkan ServiceProvider di config/app.php.

// config/app.php

'Providers' => [
   // ...
   Kawankoding\Fcm\FcmServiceProvider::class,
]

Setelah itu publis file konfigurasinya dengan perintah ini.

php artisan vendor:publish --provider="Kawankoding\Fcm\FcmServiceProvider"

Maka akan muncul file config/laravel-fcm.php yang isinya seperti ini.

return [

    /**
     * Set your FCM Server Key
     * Change to yours
     */

    'server_key' => env('FCM_SERVER_KEY', ''),

];

Silakan sesuikan Server Key dengan yang kawan miliki. bisa dengan membuat Environment Variable pada file .env sesuai yang ada pada konfigurasi di atas.

Untuk mengirimkan push notification kita harus memiliki id dari penerima yang diperoleh dari klien misalnya dari aplikasi android yang nilainya kita simpan pada database sesuai user. Kurang lebih cara mengirimkannya seperti ini.

$recipients = [
    'clKMv.......',
    'GxQQW.......',
];

fcm()
    ->to($recipients)
    ->priority('high')
    ->timeToLive(0)
    ->data([
        'title' => 'Test FCM',
        'body' => 'This is a test of FCM',
    ])
    ->send();

Untuk penggunaan selengkapnya silakan baca di dokumentasinya ya.

Wassalamui

Hi Saya Amirul, Saya mengajarkan koding melalui screencast di Kawan Koding, saya juga menulis Artikel di Kawan Koding.

One Comment

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *