Codeigniter 4 Send Push Notification to Android and IOS Example

Codeigniter 4 Send Push Notification to Android and IOS Example

To send push notifications to Android and IOS mobile using Firebase fcm in ci 4. In this tutorial, you will learn how to send push notifications to Android and IOS mobile using Firebase fcm in CodeIgniter 4 app.

As well as This tutorial will guide the PHP and CodeIgniter developers who want to send FCM(Firebase Cloud Messaging) notifications by using PHP Codeigniter.

Send Push Notification to Android and IOS In Codeigniter 4 App Using Google Firebase

Let’s use the following steps to send push notification to android and IOS using google firebase fcm in codeigniter 4 apps:

  • Step 1 – Setup Codeigniter Project
  • Step 2 – Basic Configurations
  • Step 3 – Create a Controller
  • Step 4 – Create Views
  • Step 5 – Start Development server

Step 1 – Setup Codeigniter Project

In this step, you will download the latest version of Codeigniter 4, Go to this link https://codeigniter.com/download Download Codeigniter 4 fresh new setup and unzip the setup in your local system xampp/htdocs/ . And change the download folder name “demo”

Step 2 – Basic Configurations

In this step, you will set some basic configuration on the app/config/app.php file, so let’s go to application/config/config.php and open this file on text editor.

Set Base URL like this

public $baseURL = 'http://localhost:8080';
To
public $baseURL = 'http://localhost/demo/';

Step 3 – Create a Controller

In this step, visit to app/Controllers and create a controller name Notification.php. Then add the following code into it:

<?php namespace App\Controllers;

use CodeIgniter\Controller;


class Notification extends Controller
{
    public function index()
    {    
         return view('index');
    }

    public function sendPushNotification()
    {  
        
        $val = $this->validate([
	        'nId' => 'required',
	    ]);

	    $notification_id = $this->request->getVar('nId');
	    $title = 'Demo Notification'; 
	    $message = 'First codeigniter notification for mobile';
	    $d_type    = $this->request->getVar('device_type');  // for android or IOS

	    $accesstoken = 'YOUR FCM KEY';

	    $URL = 'https://fcm.googleapis.com/fcm/send';


	        $post_data = '{
	            "to" : "' . $notification_id . '",
	            "data" : {
	              "body" : "",
	              "title" : "' . $title . '",
	              "type" : "' . $d_type . '",
	              "id" : "' . $id . '",
	              "message" : "' . $message . '",
	            },
	            "notification" : {
	                 "body" : "' . $message . '",
	                 "title" : "' . $title . '",
	                  "type" : "' . $d_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;
	    }

	    echo view('success');
	}
}

Step 4 – Create Views

In this step, you need to create an index.php file. So visit application/views/ folder and create index.php file. and add the following HTML into your files:.

<!DOCTYPE html>
<html>
<head>
  <title>Codeigniter 4 Send Push Notification using Google FCM Example</title>
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
 <div class="container">
    <br>
    <?= \Config\Services::validation()->listErrors(); ?>

    <div class="row">
      <div class="col-md-9">
        <form action="<?php echo base_url('public/index.php/notification/sendPushNotification') ?>" method="post" accept-charset="utf-8">

          <div class="form-group">
            <label for="formGroupExampleInput">Device Type</label>
              <select class="form-control" id="device_type" name="device_type" required="">
              <option value="">Select Device type</option>
               
                    <option value="android">Android</option>
                    <option value="iphone">IOS</option>
  
              </select>
          </div>           

          <div class="form-group">
            <label for="formGroupExampleInput">Notification Id</label>
            <input type="text" name="nId" class="form-control" id="formGroupExampleInput" placeholder="Please enter notification id" required="">
            
          </div> 

          <div class="form-group">
           <button type="submit" id="send_form" class="btn btn-success">Submit</button>
          </div>
        </form>
      </div>

    </div>
 
</div>
</body>
</html>

This below line display error messages on your web page:

<?= \Config\Services::validation()->listErrors(); ?>

Now you need to create success.php file, so go to application/views/ and create success.php file. And put the below code into it:

<!DOCTYPE html>
<html>
<head>
  <title> send push notification to android using codeigniter </title>
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
	<div class="container mt-5">
	 <h1 class="text-center"> Please check your device ! Thanks</h1>
	</div>
</body>
</html>

Step 5 – Start Development Server

In this step, open your terminal and execute the following command to start development sever:

php spark serve

Then, Go to the browser and hit below the URL:

http://localhost:8080/notification

Conclusion

Send push notification to android using PHP CodeIgniter fcm, you have learned how to send push notifications to android and iPhone mobile using firebase fcm in CodeIgniter 4 app.

Recommended CodeIgniter Tutorials

If you have any questions or thoughts to share, use the comment form below to reach us.

AuthorAdmin

My name is Devendra Dode. I am a full-stack developer, entrepreneur, and owner of Tutsmake.com. I like writing tutorials and tips that can help other developers. I share tutorials of PHP, Python, Javascript, JQuery, Laravel, Livewire, Codeigniter, Node JS, Express JS, Vue JS, Angular JS, React Js, MySQL, MongoDB, REST APIs, Windows, Xampp, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL and Bootstrap from a starting stage. As well as demo example.

2 replies to Codeigniter 4 Send Push Notification to Android and IOS Example

  1. Thanks so much request for this

  2. Where did the id come from in class notification on line 36 and 43

Leave a Reply

Your email address will not be published. Required fields are marked *