LaravelPackages.net
Acme Inc.
Toggle sidebar
kodjunkie/onesignal-php-sdk

OneSignal SDK for PHP developers with fluent API and supports Laravel / Lumen out of the box.

2.300
4
v1.1.6
About kodjunkie/onesignal-php-sdk

kodjunkie/onesignal-php-sdk is a Laravel package for onesignal sdk for php developers with fluent api and supports laravel / lumen out of the box.. It currently has 4 GitHub stars and 2.300 downloads on Packagist (latest version v1.1.6). Install it with composer require kodjunkie/onesignal-php-sdk. Discover more Laravel packages by kodjunkie or browse all Laravel packages to compare alternatives.

Last updated

OneSignal

OneSignal PHP SDK

OneSignal SDK for PHP developers with fluent API and supports Laravel / Lumen out of the box.

Latest Stable Version PHP Version Require Total Downloads tests license: MIT

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.

Comments