peterujah/php-firebase-notification

Send firebase device push notification from php curl.

1.2 2022-05-13 23:08 UTC

This package is auto-updated.

Last update: 2024-05-14 04:23:46 UTC


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.

  1. Send to a single device id
  2. Send to a multiple device ids
  3. 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);