How To OneSignal Send Web Push Notification In Laravel 8?

Laravel 8

Nicesnippets

27-12-2021


How To OneSignal Send Web Push Notification In Laravel 8?

Hello Friends,

This post is how to send web push notifications from the Laravel 8 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 Fresh Laravel Application


composer create-project --prefer-dist laravel/laravel blogPushNotification

Step 2 - Create Database Connection

.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.

ONE_SIGNAL_APP_ID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

ONE_SIGNAL_AUTHORIZE=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ONE_SIGNAL_AUTH_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Step 4 - Add OneSignal Package in Laravel

OneSignal in Laravel requires package installation in the Laravel app.

composer require ladumor/one-signal

Step 5 - Set Up OneSignal in Laravel

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();

Step 7 - Run Laravel Application

php artisan serve

I hope it can help you....


Recommended Posts