- How to use this package? Click here
- For the official documentation click here
This is the only package out there that is a breeze to set up, and have a fluent / standardized API across endpoints.
NOTE: For laravel
users, this package registers itself automatically.
composer require kodjunkie/onesignal-php-sdk
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());
}
Set these values in your .env
file
ONESIGNAL_API_KEY=
ONESIGNAL_AUTH_KEY=
ONESIGNAL_APP_ID=
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');
}
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());
}
composer test
This project is opened under the MIT 2.0 License which allows very broad use for both academic and commercial purposes.