peterujah / php-firebase-notification
Send firebase device push notification from php curl.
Requires
- php: ^7.0 || ^8.0
README
A simple php class to help you send firebase push notification from php curl. It will allow you to push cloud messaging through firebase in 3 different way.
- Send to a single device id
- Send to a multiple device ids
- Send to a specific topic subscribers
Installation
Installation is super-easy via Composer:
composer require peterujah/php-firebase-notification
initialize the firebase class with your google api key
use Peterujah\NanoBlock\FirebaseServiceModel; use Peterujah\NanoBlock\FirebaseService; define("GOOGLE_FCM_API_KEY", "AAAAtXpvsYU:APXXX"); $model = new FirebaseServiceModel(); $service = new FirebaseService(GOOGLE_FCM_API_KEY);
Sending a message to a single device id can be done like this.
$model->setTo("f-bbVq2uCgY:APA91bF0s7jk5lXXy"); $model->setTitle("I code it here"); $model->setMessage("Will you like to join us?"); $response = $service->notify($model); var_export($response);
Sending a message to a multiple user IDs can be done like this
$model->setTo(array("User-A", "User-B", "User-C")); $model->setTitle("I code it here"); $model->setMessage("Will you like to join us?"); $response = $service->notify($model); var_export($response);
Sending a message by topic IDs/name can be done like this
$model->setIsTopic(FirebaseServiceModel::TOPIC); $model->setTo("TOPIC_GROUP_ID_NAME"); $model->setTitle("I code it here"); $model->setMessage("Will you like to join us?"); $response = $service->notify($model); var_export($response);
Methods
Set the notification payload node type. The default is FirebaseServiceModel::NODE_NOTIFICATION
$model->setNode(FirebaseServiceModel::NODE_NOTIFICATION | FirebaseServiceModel::NODE_DATA);
Sets the notification to send to topic. The default is false
, pass FirebaseServiceModel::TOPIC
or true
, to enable topic.
$model->setIsTopic(FirebaseServiceModel::TOPIC);
Sets the notification body, default is message
$model->setBody($body);
Sets the notification image url.
$model->setImage("https://img.com/path/to/foo.png");
Sets the notification click action for android.
$model->setClickAction($click);
Sets the notification refernce for custom use.
$model->setReference($ref);
Sets the notification additional meta data for custom use.
$model->setMeta($array);
Sets the notification badge id.
$model->setBadge($int);
Sets the notification background state.
$model->setIsBackground($bool);
Sets the notification sound type.
$model->setSound($sound);