Coder Social home page Coder Social logo

kodjunkie / onesignal-php-sdk Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 3.0 214 KB

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

Home Page: https://packagist.org/packages/kodjunkie/onesignal-php-sdk

License: MIT License

PHP 100.00%
laravel laravel-package onesignal onesignal-sdk onesignal-php onesignal-api notifications webpush lumen lumen-package

onesignal-php-sdk's Introduction

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.

onesignal-php-sdk's People

Contributors

kodjunkie avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.