This project is not actively maintained as of 2018/12/12. I'd strongly urge you to consider a package that is, like berkayk/onesignal-laravel
This project is a wrapper for the OneSignal v1 API. It supports all operations currently supported by the API.
Require the package with composer.
composer require jmrieger/onesignal-laravel
composer update
Update config/app.php
by adding the following entries.
'providers' => [
// ...
jmrieger\OneSignal\OneSignalServiceProvider::class
];
'aliases' => [
// ...
'OneSignal' => jmrieger\OneSignal\OneSignalFacade::class
];
update bootstrap/app.php
, adding the following entry
$app->register( \jmrieger\OneSignal\OneSignalServiceProvider::class );
class_alias( 'jmrieger\OneSignal\OneSignalFacade', 'OneSignal' );
There are 3 settings that need to be updated: your default OneSignal app ID, the REST API key, and the User Auth Key. All of these items can be found in your Control Panel on the OneSignal site.
First, publish the onesignal config:
php artisan vendor:publish
Place the 3 keys into your .env file, as such:
ONESIGNAL_APP_ID=
ONESIGNAL_REST_API_KEY=
ONESIGNAL_USER_AUTH_KEY=
There is a function for each of the OneSignal API calls. They are broken down here.
Note: In all instances where an $app_id is asked for, omitting it will grab the default OneSignal App ID specified in the .env file
$response = OneSignal::getApps();
$response = OneSignal::postNotification([
"tags" => [ ["key" => "myKey", "relation" => "=", "value" => 1 ] ],
"contents" => ["en" => "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean et iaculis enim. Sed egestas porttitor laoreet."],
"headings" => ["en" => "Aliquam consectetur odio sed"],
]);
The official OneSignal API documentation is listed here: https://documentation.onesignal.com/docs/server-api-overview
This project was inspired by, and evolved from, https://github.com/berkayk/laravel-onesignal