push-notification / push-notification-php-library
Send push notification to android|ios devices , support APNs, FCM
Installs: 1 536
Dependents: 0
Suggesters: 0
Security: 0
Stars: 22
Watchers: 1
Forks: 6
Open Issues: 0
Type:standalone
Requires
- php: >=5.6
- guzzlehttp/guzzle: ^6.3
- vlucas/phpdotenv: ^2.4.0
README
Standalone PHP library for easy devices message notifications push.
Feel free to contribute!
Installation
composer require push-notification/push-notification-php-library
composer dump-autoload -o
This repository uses PSR-0 autoload. After installation with composer please adjust you autoloading config if needed or include vendor/autoload.php in your index.php.
Requirements:
- PHP 5.6+
- PHP Curl and OpenSSL modules
available supports:
- APNS (Apple)
- GCM (Android) and FCM (Android)
Setting
-
settings of your provider (Apn, Fcm) at .env (make sure you renamed the .env.example to .env and filled all the requirements)
-
path to .env file : you need to set $path variable at
src/PushNotification/Setting
to the .env file
How to use :
include_once "vendor/autoload.php"; use PushNotification\Service\PushService; $data = array( 'device' => array( 'name' => '', // Android or AppleIOS 'token' => '', // device token | user token , if you want to send to apple device you have to fill this 'id' => 'unique id here'), 'message' => array( 'action' => 'test', 'title' => 'this is test title', 'targets' => array(''), // if you want to use Fcm you can inclue array of targets 'body' => 'this is body', 'type' => '', // AndroidMessages or IOSMessages 'data' => array('type' => 'testType')) ); $response = PushService::getInstance()->send($data);
Android :
include_once "vendor/autoload.php"; use PushNotification\Service\PushService; $data = array( 'device' => array( 'name' => 'Android', 'token' => '', 'id' => 'some id here '), 'message' => array( 'action' => 'test', 'title' => 'this is test title', 'targets' => array('token1', 'token2', 'token3'), 'body' => 'this is body', 'type' => 'AndroidMessages', 'data' => array('type' => 'testType')) ); $response = PushService::getInstance()->send($data); print_r($response);
IOS :
include_once "vendor/autoload.php"; use PushNotification\Service\PushService; $data = array( 'device' => array( 'name' => 'AppleIOS', 'token' => 'token', 'id' => 'BECDSx'), 'message' => array( 'action' => 'test', 'title' => 'this is test title', 'targets' => array(), 'body' => 'this is body', 'type' => 'IOSMessages', 'data' => array('type' => 'testType')) ); $response = PushService::getInstance()->send($data); print_r($response);