PHPackages                             liliom/laravel-onesignal - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. liliom/laravel-onesignal

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

liliom/laravel-onesignal
========================

Laravel Wrapper for OneSignal Web API

v1.0.1(8y ago)92801MITPHPPHP &gt;=5.5.9

Since Jan 28Pushed 7y ago3 watchersCompare

[ Source](https://github.com/multicaret/laravel-onesignal)[ Packagist](https://packagist.org/packages/liliom/laravel-onesignal)[ RSS](/packages/liliom-laravel-onesignal/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (2)Dependencies (5)Versions (3)Used By (0)

OneSignal Push Notifications for Laravel 5
==========================================

[](#onesignal-push-notifications-for-laravel-5)

Introduction
------------

[](#introduction)

This is a simple OneSignal wrapper library for Laravel. It simplifies the basic notification flow with the defined methods. You can send a message to all users or you can notify a single user. Before you start installing this service, please complete your OneSignal setup at  and finish all the steps that is necessary to obtain an application id and REST API Keys.

Installation
------------

[](#installation)

First, you'll need to require the package with Composer:

```
composer require liliom/laravel-onesignal
```

### Laravel 5.5 and up

[](#laravel-55-and-up)

You don't have to do anything else, this package uses the Package Auto-Discovery feature, and should be available as soon as you install it via Composer.

### Laravel 5.4 and down

[](#laravel-54-and-down)

Update your `config/app.php` by adding the following service provider.

```
'providers' => [
	// ...
	// ...
	Liliom\OneSignal\OneSignalServiceProvider::class,
	// ...
];
```

Then, register class alias by adding an entry in aliases section

```
'aliases' => [
	// ...
	'OneSignal' => Liliom\OneSignal\OneSignalFacade::class
];
```

Finally, publish the config file by running:

```
php artisan vendor:publish --provider="Liliom\OneSignal\OneSignalServiceProvider"
php artisan vendor:publish --provider="Laravelme\Acquaintances\AcquaintancesServiceProvider"

```

The command above shall publish a configuration file named `onesignal.php` which includes your OneSignal authorization keys.

Configuration
-------------

[](#configuration)

Please fill the file `config/onesignal.php`. `app_id` is your *OneSignal App ID* and `rest_api_key` is your *REST API Key*, where `user_auth_key` is optional.

Or alternatively you can fill your settings in `.env` file as the following:

```
ONE_SIGNAL_APP_ID=
ONE_SIGNAL_REST_API_KEY=

```

Usage
-----

[](#usage)

### Sending a Notification To All Users

[](#sending-a-notification-to-all-users)

You can easily send a message to all registered users with the command

```
OneSignal::sendNotificationToAll("Some Message", $url = null, $data = null, $buttons = null, $schedule = null);

```

`$url` , `$data` , `$buttons` and `$schedule` fields are exceptional. If you provide a `$url` parameter, users will be redirecting to that url.

### Sending a Notification based on Tags/Filters

[](#sending-a-notification-based-on-tagsfilters)

You can send a message based on a set of tags with the command

```
OneSignal::sendNotificationUsingTags("Some Message", ["key" => "device_uuid", "relation" => "=", "value" => 123e4567-e89b-12d3-a456-426655440000], $url = null, $data = null, $buttons = null, $schedule = null);

```

### Sending a Notification To A Specific User

[](#sending-a-notification-to-a-specific-user)

After storing a user's tokens in a table, you can simply send a message with

```
OneSignal::sendNotificationToUser("Some Message", $userId, $url = null, $data = null, $buttons = null, $schedule = null);

```

`$userId` is the user's unique id where he/she is registered for notifications. Read  for additional details. `$url` , `$data` , `$buttons` and `$schedule` fields are exceptional. If you provide a `$url` parameter, users will be redirecting to that url.

### Sending a Notification To A Specific User via Email Address

[](#sending-a-notification-to-a-specific-user-via-email-address)

If you are using the option to set the userId as email address of the user then use the following function

```
OneSignal::sendNotificationToUserByEmail("Some Message", $email, $filters = [], $segment = ['All'], $url = null, $data = null, $buttons = null, $schedule = null, $smallIcon = null, $LargeIcon = null, $bigPicture = null, $androidAccentCircleColor = null, $androidAccentLedColor = null, $sound = null )

```

### Sending a Notification To Segment

[](#sending-a-notification-to-segment)

You can simply send a notification to a specific segment with

```
OneSignal::sendNotificationToSegment("Some Message", $segment, $url = null, $data = null, $buttons = null, $schedule = null);

```

`$url` , `$data` , `$buttons` and `$schedule` fields are exceptional. If you provide a `$url` parameter, users will be redirecting to that url.

### Sending a Custom Notification

[](#sending-a-custom-notification)

You can send a custom message with

```
OneSignal::sendNotificationCustom($parameters);

### Sending a Custom Notification

```

### Sending a async Custom Notification

[](#sending-a-async-custom-notification)

You can send a async custom message with

```
OneSignal::async()->sendNotificationCustom($parameters);

```

Please refer to  for all customizable parameters.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 87.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~145 days

Total

2

Last Release

2926d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1743919?v=4)[Mohamed Kawsara](/maintainers/mkwsra)[@mkwsra](https://github.com/mkwsra)

---

Top Contributors

[![mkwsra](https://avatars.githubusercontent.com/u/1743919?v=4)](https://github.com/mkwsra "mkwsra (7 commits)")[![Hussam3bd](https://avatars.githubusercontent.com/u/8091592?v=4)](https://github.com/Hussam3bd "Hussam3bd (1 commits)")

---

Tags

custom-notificationlaravellaravel-notification-channelslaravel-notificationsnotificationsonesignalonesignal-phplaravelpushWebPushlaravel 5onesignalone-signalserver side notification

### Embed Badge

![Health badge](/badges/liliom-laravel-onesignal/health.svg)

```
[![Health](https://phpackages.com/badges/liliom-laravel-onesignal/health.svg)](https://phpackages.com/packages/liliom-laravel-onesignal)
```

###  Alternatives

[berkayk/onesignal-laravel

OneSignal Push Wrapper Laravel

5236.1M14](/packages/berkayk-onesignal-laravel)[moonshine/moonshine

Laravel administration panel

1.3k239.9k76](/packages/moonshine-moonshine)[spatie/laravel-export

Create a static site bundle from a Laravel app

672139.5k6](/packages/spatie-laravel-export)[jmrieger/onesignal-laravel

OneSignal Push Wrapper For Illuminate

2618.3k](/packages/jmrieger-onesignal-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
