Laravel 11 Firebase Push Notification to Android and IOS Mobile

Laravel 11 send firebase push notification mobile; Through this tutorial, i am going to show you how to send push notification to android and ios mobiles in Laravel 11 apps using google firebase.

Laravel 11 Firebase Push Notification to Android and IOS Mobile

Follow the below given steps to send push notification to android or ios mobile using google firebase in Laravel 11 apps:

  • Step 1: Create a Helper File
  • Step 2: Add Fcm Key in .env
  • Step 3: Send Notification

Step 1: Create a Helper File

Go to App directory and inside this directory create a new file new helpers.php.

And add 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

Visit to your project root directory and open .env file. Then add 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

To send push notification in laravel tutorial, you have learned how to send push notification fcm using CURL and helper without using package in laravel.

Recommended Laravel Tutorials

Leave a Comment