Download the PHP package ladumor/one-signal without Composer
On this page you can find all versions of the php package ladumor/one-signal. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package one-signal
Laravel One Signal
Laravel One Signal is Laravel Wrapper for One Signal. One Signal is a great platform for send a push notification to your users. This package mentions in One Signal's official Document. you can see here
Give a Star if this package realy usefull to you. it's free :laughing:
:film_strip: here are video tutorials
How to install and how to implement notifications and devices APIs.
how to implement Segment and Apps APIs.
Contents
- Installation
- Publish the config file
- Add Provider
- Add Facade
- Usage
- Send Push Notification
- Cancel Notification
- Customise Contents
- Get All Notifications
- Get Single Notification
- Get All Devices
- Get Single Device
- Create Device
- Update Device
- Delete Device
- Create Segment (NEED PAID PLAN)
- Delete Segment (NEED PAID PLAN)
- View Apps
- View App
- Create App
- Update App
- View Outcomes
- User Device
- Change Log
- License
Watch Other Lavavel tutorial here
Installation
Install the package by the following command,
composer require ladumor/one-signal:1.0.0
Publish the config file
Run the following command to publish config file,
php artisan vendor:publish --provider="Ladumor\OneSignal\OneSignalServiceProvider"
Add Provider
Add the provider to your config/app.php
into provider
section if using lower version of laravel,
Ladumor\OneSignal\OneSignalServiceProvider::class,
Add Facade
Add the Facade to your config/app.php
into aliases
section,
'OneSignal' => \Ladumor\OneSignal\OneSignal::class,
Add ENV data
Add your api keys and OneSignal app id to your .env
,
ONE_SIGNAL_APP_ID=XXXXXX-XXXXXX-XXXXXX-XXXXXX (YOUR APP ID)
ONE_SIGNAL_AUTHORIZE=XXXXXX (REST API KEY)
ONE_SIGNAL_AUTH_KEY=XXXXXXX (YOUR USER AUTH KEY)
You can call them into your code with,
Usage
Send Push Notification
For send push notification, use the sendPush method by calling,
$fields['include_player_ids'] = ['xxxxxxxx-xxxx-xxx-xxxx-yyyyyyyyy'];
$message = 'hey!! this is test push.!'
OneSignal::sendPush($fields, $message);
Optionally, you can obtain the id of the notification like this,
$notificationID = OneSignal::sendPush($fields, $message);
echo $notificationID["id"];
Cancel Notification
To cancel a notification, use the cancelNotification method by calling,
$notificationID = 'xxxxxxxx-xxxx-xxx-xxxx-yyyyyyyyy';
OneSignal::cancelNotification($notificationID);
Customise Contents
You can customise a contents and pass it in fields. message does not required when you pass contents
$fields['include_player_ids'] = ['xxxxxxxx-xxxx-xxx-xxxx-yyyyyyyyy'];
$fields['contents'] = array(
"en" => 'English Message',
"es" => 'Spanish Message',
);
OneSignal::sendPush($fields);
Get All Notifications
For retrieve all notifications, use the getNotifications
method by calling,
OneSignal::getNotifications();
You can check here return response format.
Get Single Notification
For retrieve single notification, use the getNotification
method with id param by calling,
OneSignal::getNotification($notificationId);
You can check here return response format.
Get All Devices
For retrieve all user devices, use the getDevices
method by calling,
OneSignal::getDevices();
You can check here return response format.
Get Single Device
For retrieve single Devices, use the getDevice
method with id param by calling,
OneSignal::getDevice($deviceId);
You can check here return response format.
Create Device
For add a device in your application, use the addDevice
method by calling, if you want to create device in different application than you can specify app_id
in $fields
array.
$fields = [
'device_type' => 0,
'identifier' => '7abcd558f29d0b1f048083e2834ad8ea4b3d87d8ad9c088b33c132706ff445f0',
'timezone' => '-28800',
'game_version' => '1.1',
'device_os' => '7.0.4',
'test_type' => 1,
'device_model' => "iPhone 8,2",
'tags' => array("foo" => "bar")
];
return OneSignal::addDevice($fields);
You can check here supported parameters and guide.
Update Device
For update a device in your application, use the addDevice
method by calling, if you want to update device in different application than you can specify app_id
in $fields
array.
$fields = [
'device_type' => 0,
'identifier' => '7abcd558f29d0b1f048083e2834ad8ea4b3d87d8ad9c088b33c132706ff445f0',
'timezone' => '-28800',
'game_version' => '1.1',
'device_os' => '7.0.4',
'test_type' => 1,
'device_model' => "iPhone 8,2",
'tags' => array("foo" => "bar")
];
$playerId = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
return OneSignal::updateDevice($fields, $playerId);
You can check here supported parameters and guide.
Delete Device
Delete existing device on your application
Create Segment
NOTE: REQUIRED ONE-SIGNAL PAID PLAN
For add a new segment in your application, use the createSegment
method by calling,
$fields = [
'name' => 'iOS, Android, Web',
"filters" => array("field" => "device_type", "relation" => "=", "value" => "Android"),
];
return OneSignal::createSegment($fields);
You can check here supported parameters and guide.
OneSignal::deleteSegment('YOUR_SEGMENT_ID')
Delete Segment
NOTE: REQUIRED ONE-SIGNAL PAID PLAN
You can check here for more guide.
Apps
Note*: Auth key must be set in one-signal.php
how to get auth_key?
View Apps
View the details of all of your current OneSignal apps
$apps = OneSignal::getApps();
You can check here api response.
View App
View the details of single of your current OneSignal app or other app by passing app id.
// It's return default site which is configured in config.
$app = OneSignal::getApp();
// you can specify app id as wel but it's optional
$app = OneSignal::getApp('YOUR_APP_ID');
You can check here api response.
Create App
Creates a new OneSignal app.
$fields = array(
'name' => "TestByMe"
);
OneSignal::createApp($fields);
You can check here supported parameters and guide.
Update App
Update a new OneSignal app.
$fields = array(
'name' => "TestByMe"
);
OneSignal::updateApp($fields);
// you can pass second param as a appId if you want to update other app.. default take from config.
You can check here supported parameters and guide.
View Outcomes
Update a new OneSignal app.
$fields = array(
'outcome_names' => "os__click.count",
'outcome_time_range' => '1h',
'outcome_platform' => 0,
'outcome_attribution' => 'direct'
);
OneSignal::getOutcomes($fields); // with params
OneSignal::getOutcomes(); // without any params
// you can pass params in this method, it's optional.
You can check here supported parameters and guide.
User Device
You can generate a User Device APIs with just one command,
this command generate following files,
- UserDeviceAPIController
- UserDeviceAPIRepository
- UserDevice (model)
- Migration
Also, do not forget to add following routes in to the api.php
file.
Change Log
Please see Change Log here
License
The MIT License (MIT). Please see License File for more information
All versions of one-signal with dependencies
illuminate/support Version ^11.1|^10.0|^9.0|^8.0|^7.0|^6.0
ext-curl Version *
ext-json Version *