andreseko / onesignal
OneSignal Push Wrapper Laravel
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.0
- illuminate/support: 5.*|6.*|7.*|8.*|9.*|10.*
- symfony/psr-http-message-bridge: 2.*
Requires (Dev)
- phpunit/phpunit: ^8
- vlucas/phpdotenv: ^3.6.0
README
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 https://onesignal.com and finish all the steps that is necessary to obtain an application id and REST API Keys.
Requirements
Installation
First, you'll need to require the package with Composer:
composer require andreseko/onesignal
You only need to do the following if your Laravel version is below 5.5:
Then, update config/app.php
by adding an entry for the service provider.
[ 'providers' => [ // ... AndreSeko\OneSignal\OneSignalServiceProvider::class ] ];
Then, register class alias by adding an entry in aliases section
[ 'aliases' => [ // ... 'OneSignal' => AndreSeko\OneSignal\OneSignalFacade::class ] ];
Finally, from the command line again, run
php artisan vendor:publish --tag=config
Configuration
You need to fill in onesignal.php
file that is found in your applications config
directory.
app_id
is your OneSignal App ID and rest_api_key
is your REST API Key. Also you can override the parameters with your .env
file.
Usage
Send a notification for all platforms
You can easily send a message to all registered users with the command:
$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY'); $onesignal->setTitle('MY APP') ->setSubTitle('My best app ever') ->setMessage('My cool message') ->sendNotification();
Send a notification for iOS only
Sending a message to iOS users:
$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY'); $onesignal->setTitle('MY APP') ->setSubTitle('My best app ever') ->setMessage('My cool message') ->setPlataform(OneSignal::IOS) ->setPlataform(OneSignal::ANDROID, false) ->setPlataform(OneSignal::WEB, false) ->configureIos('my_custom_sound.caf') ->sendNotification();
Send a notification for Android only
Sending a message to Android users:
$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY'); $onesignal->setTitle('MY APP') ->setSubTitle('My best app ever') ->setMessage('My cool message') ->setPlataform(OneSignal::ANDROID) ->setPlataform(OneSignal::IOS, false) ->setPlataform(OneSignal::WEB, false) ->configureAndroid('my_custom_sound') ->sendNotification();
Get all notifications
Getting all notifications from Onesignal
$onesignal = new \AndreSeko\OneSignal\OneSignal('APP_ID', 'REST_API_KEY'); $response = $onesignal->getNotifications();
Please refer to https://documentation.onesignal.com/reference for all customizable parameters.