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