kodjunkie / onesignal-php-sdk
OneSignal SDK for PHP developers with fluent API and supports Laravel / Lumen out of the box.
Installs: 1 580
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 2
Forks: 3
Open Issues: 0
Requires
- php: ^7.0|^8.0
- guzzlehttp/guzzle: ^6.3|^7.0
- illuminate/support: ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpunit/phpunit: ^9.5
README
OneSignal PHP SDK
OneSignal SDK for PHP developers with fluent API and supports Laravel / Lumen out of the box.
- How to use this package? Click here
- For the official documentation click here
Why use this package?
This is the only package out there that is a breeze to set up, and have a fluent / standardized API across endpoints.
Installation
NOTE: For laravel
users, this package registers itself automatically.
composer require kodjunkie/onesignal-php-sdk
Usage in plain PHP
use Kodjunkie\OnesignalPhpSdk\OneSignal; use Kodjunkie\OnesignalPhpSdk\Exceptions\OneSignalException; $config = [ // Onesignal API Key 'api_key' => '', // Onesignal Auth Key 'auth_key' => '', // Onesignal App ID (optional) // this is beneficial if you're working with a single OneSignal app // so, you could pass "null" to methods / functions that requires it. 'app_id' => '', ]; try { // Initialize the SDK $oneSignal = new OneSignal($config); // Using the API // Get all apps $response = $oneSignal->app()->getAll(); // Use json_decode() to get the response as an stdClass object var_dump($response); } catch (OneSignalException $exception) { var_dump($exception->getMessage()); }
Usage in Laravel / Lumen
Set these values in your .env
file
ONESIGNAL_API_KEY= ONESIGNAL_AUTH_KEY= ONESIGNAL_APP_ID=
Register the service provider (lumen only)
Add this line to your bootstrap/app.php
file
$app->register(Kodjunkie\OnesignalPhpSdk\OneSignalServiceProvider::class); // Register the facade (optional) // To use, must uncomment $app->withFacades() if (!class_exists('OneSignal')) { class_alias(Kodjunkie\OnesignalPhpSdk\Facade::class, 'OneSignal'); }
Code samples
use Kodjunkie\OnesignalPhpSdk\Exceptions\OneSignalException; try { // Initialize the SDK // Resolve from the IoC container $oneSignal = app()->make('onesignal'); // Using the API // Get all devices $response = $oneSignal->device()->getAll($appId, $limit, $offset); // Using the facade, the code above will look like this // with "app_id" provided in the config $response = OneSignal::device()->getAll(null, $limit, $offset); dd($response); } catch (OneSignalException $exception) { dd($exception->getMessage()); }
Tests
composer test
License
This project is opened under the MIT 2.0 License which allows very broad use for both academic and commercial purposes.