Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kodjunkie/onesignal-php-sdk
OneSignal SDK for PHP developers with fluent API and supports Laravel / Lumen out of the box.
https://github.com/kodjunkie/onesignal-php-sdk
api apns fcm gcm laravel laravel-package lumen lumen-package notifications onesignal onesignal-api onesignal-php onesignal-sdk php php-libray push-notification rest-client restful-api sdk webpush
Last synced: 3 months ago
JSON representation
OneSignal SDK for PHP developers with fluent API and supports Laravel / Lumen out of the box.
- Host: GitHub
- URL: https://github.com/kodjunkie/onesignal-php-sdk
- Owner: kodjunkie
- License: mit
- Created: 2021-08-04T11:20:03.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-02T09:37:42.000Z (3 months ago)
- Last Synced: 2024-10-02T10:19:45.354Z (3 months ago)
- Topics: api, apns, fcm, gcm, laravel, laravel-package, lumen, lumen-package, notifications, onesignal, onesignal-api, onesignal-php, onesignal-sdk, php, php-libray, push-notification, rest-client, restful-api, sdk, webpush
- Language: PHP
- Homepage: https://packagist.org/packages/kodjunkie/onesignal-php-sdk
- Size: 209 KB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
OneSignal PHP SDK
OneSignal SDK for PHP developers with fluent API and supports Laravel / Lumen out of the box.
[![Latest Stable Version](http://poser.pugx.org/kodjunkie/onesignal-php-sdk/v)](https://packagist.org/packages/kodjunkie/onesignal-php-sdk) [![PHP Version Require](http://poser.pugx.org/kodjunkie/onesignal-php-sdk/require/php)](https://packagist.org/packages/kodjunkie/onesignal-php-sdk) [![Total Downloads](http://poser.pugx.org/kodjunkie/onesignal-php-sdk/downloads)](https://packagist.org/packages/kodjunkie/onesignal-php-sdk) [![tests](https://github.com/kodjunkie/onesignal-php-sdk/actions/workflows/php.yml/badge.svg?branch=master)](https://github.com/kodjunkie/onesignal-php-sdk/actions/workflows/php.yml)
- How to use this package? [Click here](https://github.com/kodjunkie/onesignal-php-sdk/tree/master/docs)
- For the official documentation [click here](https://documentation.onesignal.com/reference)## 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.
```bash
composer require kodjunkie/onesignal-php-sdk
```### Usage in plain PHP
```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
```dotenv
ONESIGNAL_API_KEY=
ONESIGNAL_AUTH_KEY=
ONESIGNAL_APP_ID=
```#### Register the service provider (lumen only)
Add this line to your `bootstrap/app.php` file
```php
$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
```php
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
```bash
composer test
```## License
This project is opened under the [MIT 2.0 License](https://github.com/kodjunkie/onesignal-php-sdk/blob/master/LICENSE)
which allows very broad use for both academic and commercial purposes.