Skip to content

FranQy/Jetifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maintainability Build Status Dependency Status Coverage Status

Jetifier

Jetifier is simple PHP library to send push notifications and messages via Firebase Cloud Messanging.

  • Supports Notifications payload, Data payload and mixed,
  • Supports different types of recipients
    • Device token
    • Topic
    • Condition (see: Docs)
  • Currently only PHP 7.1 and above
  • Supports sending messages via curl, file_get_contents and open to your implememtations (default curl)
  • Simple and fast notification, or customize everything

Usage

simple send

try {
    $response = (new \Jetifier\Jetifier('API_KEY'))
        ->setTitle('title') // title of notification
        ->setTopic('topic') // topic recipient
        ->send();
}catch (\Jetifier\Exceptions\JetifierException $ex){
    //Exception
}

send to device

$client = new Client('API_KEY');
$message = new Message();
$recipient = new Device('TOKEN');
$notification = new Notification();

$notification->setTitle('title');

$message->setRecipient($recipient)
    ->setNotification($notification)

$client->send($message);

send to topic

$client = new Client('API_KEY');
$message = new Message();
$recipient = new Topic('topic_name');
$notification = new Notification();

$notification->setTitle('title');

$message->setRecipient($recipient)
    ->setNotification($notification)

$client->send($message);

send to topic condition

$client = new Client('API_KEY');
$message = new Message();

$recipient = new Condition(new Topic('topic_name'));
$recipient->orTopic(new Topic('second_topic');

$notification = new Notification();
$notification->setTitle('title');

$message->setRecipient($recipient)
    ->setNotification($notification)

$client->send($message);

nesting conditions

...

$recipient = new Condition(new Topic('topic_name'));
$subCondition = new Condition(new Topic('second_topic'));
$subCondition->orTopic(new Topic('third_topic');
$recipient->andCondition($subCondition);

...

change send method

$client = new Client('API_KEY');
$client->setSender(new \Jetifier\Sender\Post());

...