Laravel 9 send push notification using google firebase fcm; In this tutorial, we will learn how to send push notification to android and ios mobiles using google firebase fcm in laravel 9 apps.
Sending push notifications to mobile devices are very easy things with laravel. We can use send push notification in android and ios device without using any laravel package.
Laravel 9 Send FCM Push Notification using Firebase Tutorial
Use the following steps to send push notification to android or ios mobile using google firebase fcm in laravel 9 apps:
- Step 1: Create a Helper File
- Step 2: Add Fcm Key in .env
- Step 3: Send Notification
Step 1: Create a Helper File
First of all, Navigate to App directory and inside this directory create a new file new helpers.php.
Then update the following code into your helpers.php file as follow:
app/helpers.php
<?php
function send_notification_FCM($notification_id, $title, $message, $id,$type) {
$accesstoken = env('FCM_KEY');
$URL = 'https://fcm.googleapis.com/fcm/send';
$post_data = '{
"to" : "' . $notification_id . '",
"data" : {
"body" : "",
"title" : "' . $title . '",
"type" : "' . $type . '",
"id" : "' . $id . '",
"message" : "' . $message . '",
},
"notification" : {
"body" : "' . $message . '",
"title" : "' . $title . '",
"type" : "' . $type . '",
"id" : "' . $id . '",
"message" : "' . $message . '",
"icon" : "new",
"sound" : "default"
},
}';
// print_r($post_data);die;
$crl = curl_init();
$headr = array();
$headr[] = 'Content-type: application/json';
$headr[] = 'Authorization: ' . $accesstoken;
curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($crl, CURLOPT_URL, $URL);
curl_setopt($crl, CURLOPT_HTTPHEADER, $headr);
curl_setopt($crl, CURLOPT_POST, true);
curl_setopt($crl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
$rest = curl_exec($crl);
if ($rest === false) {
// throw new Exception('Curl error: ' . curl_error($crl));
//print_r('Curl error: ' . curl_error($crl));
$result_noti = 0;
} else {
$result_noti = 1;
}
//curl_close($crl);
//print_r($result_noti);die;
return $result_noti;
}
Step 2: Add Fcm Key in .env
Go to your project root directory and open .env file. Then update fcm key as follow:
FCM_KEY =
Now, you can use your google fcm key as follow
$accesstoken = env('FCM_KEY');
Step 3: Send Notification
Next step, open your controller file and you can call send_notification_FCM($notification_id, $title, $message, $id,$type) from helpers.php with following parameters.
public function notifyUser(Request $request){
$user = User::where('id', $request->id)->first();
$notification_id = $user->notification_id;
$title = "Greeting Notification";
$message = "Have good day!";
$id = $user->id;
$type = "basic";
$res = send_notification_FCM($notification_id, $title, $message, $id,$type);
if($res == 1){
// success code
}else{
// fail code
}
}
send_notification_FCM() with following parameter $notification_id, $title, $message, $id,$type. When you want to send push notification to the mobile device, that time you need to call the send_notification_FCM() with specified parameters.
Conclusion
In send push notification in laravel tutorial, you have learned how to send push notification fcm using CURL and helper without using package in laravel.