How To OneSignal Send Web Push Notification In Laravel 9?

10-Apr-2023

.

Admin

How To OneSignal Send Web Push Notification In Laravel 9?

Hello Friends,

This post is how to send web push notifications from the Laravel 9 application using the OneSignal messaging service.

This is oneSignal is a popular messaging service that allows sending push notifications, summarising details regarding the device’s platform.

This example is will give you proper instructions to integrate one signal web push notification in laravel.

Now you have to create an account at OneSignal using your email id or social media account and obtain the key and the secret id of OneSignal.

So let's start following example.

Step 1: Download Laravel


Let us begin the tutorial by installing a new laravel application. if you have already created the project, then skip following step.

composer create-project laravel/laravel example-app

Step 2: Database Configuration

.env

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=your_db_name

DB_USERNAME=your_user_name

DB_PASSWORD=your_password

Step 3: Update OneSignal Auth Keys

One more, again open the .env configuration file and update OneSignal auth keys to connect laravel to OneSignal.

.env

ONE_SIGNAL_APP_ID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

ONE_SIGNAL_AUTHORIZE=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ONE_SIGNAL_AUTH_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Step 4: Add OneSignal Package

OneSignal in Laravel requires package installation in the Laravel app.

composer require ladumor/one-signal

Step 5: SetUp OneSignal

You have just installed the OneSignal package into the laravel app.

Furthermore, type the given command on the terminal and, without giving a thought, run the suggested command to publish separately create the config file.

php artisan vendor:publish --provider="Ladumor\OneSignal\OneSignalServiceProvider"

you have to add providers and facade inside the file.

config/app.php

<?php

return[

......

'providers' => [

...

...

Ladumor\OneSignal\OneSignalServiceProvider::class,

],

'aliases' => [

...

...

'OneSignal' => \Ladumor\OneSignal\OneSignal::class,

]

Step 6: Send Push Notifications

In a controller, you have to first import or use the OneSignal service from the Ladumor package. Inside the controller’s function, define $fields variable. You have to pass the player id in it.

The notification message var will hold the dynamic notification message; however, we passed it statistically.

Access sendPush() method via OneSignal module and in this message pass fields and notification message.

use Ladumor\OneSignal\OneSignal;

$fields['include_player_ids'] = ['xxxxxxxx-xxxx-xxx-xxxx-yyyyy']

$notificationMsg = 'Hello!! A tiny web push notification.!'

OneSignal::sendPush($fields, $notificationMsg);

To retrieve all notifications, you can use the getNotifications method by calling,

OneSignal::getNotifications();

Run Laravel App:

All steps have been done, now you have to type the given command and hit enter to run the laravel app:

php artisan serve

Now, you have to open web browser, type the given URL and view the app output:

I hope it can help you...

#Laravel 9