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

Greetings, I'm Devendra Dode, a full-stack developer, entrepreneur, and the proud owner of Tutsmake.com. My passion lies in crafting informative tutorials and offering valuable tips to assist fellow developers on their coding journey. Within my content, I cover a spectrum of technologies, including 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. Whether you're starting out or looking for advanced examples, I provide step-by-step guides and practical demonstrations to make your learning experience seamless. Let's explore the diverse realms of coding together.

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 *