2017 © Pedro Peláez
 

library laravel-fcm

A package to send Firebase notification cross Laravel Application

image

kawankoding/laravel-fcm

A package to send Firebase notification cross Laravel Application

  • Wednesday, April 11, 2018
  • by mai92
  • Repository
  • 4 Watchers
  • 24 Stars
  • 2,234 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 9 Forks
  • 0 Open issues
  • 11 Versions
  • 15 % Grown

The README.md

Laravel FCM

A simple package that help you send a Firebase notification with your Laravel applications, (*1)

Installation

You can pull the package via composer :, (*2)

$ composer require kawankoding/laravel-fcm "^0.2.0"

Laravel

You must register the service provider :, (*3)

// config/app.php

'Providers' => [
   // ...
   Kawankoding\Fcm\FcmServiceProvider::class,
]

If you want to make use of the facade you must install it as well :, (*4)

// config/app.php

'aliases' => [
    // ...
    'Fcm' => Kawankoding\Fcm\FcmFacade::class,
];

Next, You must publish the config file to define your FCM server key :, (*5)

php artisan vendor:publish --provider="Kawankoding\Fcm\FcmServiceProvider"

This is the contents of the published file :, (*6)

return [

    /**
     * Set your FCM Server Key
     * Change to yours
     */

    'server_key' => env('FCM_SERVER_KEY', ''),

];

Lumen

Add the following service provider to the bootstrap/app.php file, (*7)

$app->register(Kawankoding\Fcm\FcmServiceProvider::class);

Also copy the laravel-fcm.php config file to config/laravel-fcm.php, (*8)

Add the configuration to the bootstrap/app.php file Important: this needs to be before the registration of the service provider, (*9)

$app->configure('laravel-fcm');
...
$app->register(Kawankoding\Fcm\FcmServiceProvider::class);

Set your FCM Server Key in .env file :, (*10)

APP_NAME="Laravel"
# ...
FCM_SERVER_KEY=putYourKeyHere

Methods Ref

  • ->to(), (*11)

  • ->toTopic(), (*12)

  • ->data(), (*13)

  • ->notification(), (*14)

  • ->priority(), (*15)

  • ->timeToLive(), (*16)

  • ->enableResponseLog(), (*17)

  • ->send(), (*18)

Usage

If You want to send a FCM with just notification parameter, this is an example of usage sending a FCM with only data parameter :, (*19)

$recipients = [
    'clKMv.......',
    'GxQQW.......',
];

fcm()
    ->to($recipients)
    ->priority('high')
    ->timeToLive(0)
    ->data([
        'title' => 'Test FCM',
        'body' => 'This is a test of FCM',
    ])
    ->send();

NOTE: By default, Firebase server will queue your notification in 4 weeks. You could change this behavior by setting ->timeToLive(value_in_seconds). For example snippet above "->timeToLive(0)" will skip the queue, the target device (eg. android) must be online when the notification arive, otherwhise the target device will not receive the notification., (*20)

If You want to send a FCM to topic, use method toTopic(\$topic) instead to() :, (*21)

fcm()
    ->toTopic($topic) // $topic must an string (topic name)
    ->priority('normal')
    ->timeToLive(0)
    ->notification([
        'title' => 'Test FCM',
        'body' => 'This is a test of FCM',
    ])
    ->send();

If You want to send a FCM with just notification parameter, this is an example of usage sending a FCM with only notification parameter :, (*22)

fcm()
    ->to($recipients) // $recipients must an array
    ->priority('high')
    ->timeToLive(0)
    ->notification([
        'title' => 'Test FCM',
        'body' => 'This is a test of FCM',
    ])
    ->send();

If You want to send a FCM with both data & notification parameter, this is an example of usage sending a FCM with both data & notification parameter :, (*23)

fcm()
    ->to($recipients) // $recipients must an array
    ->priority('normal')
    ->timeToLive(0)
    ->data([
        'title' => 'Test FCM',
        'body' => 'This is a test of FCM',
    ])
    ->notification([
        'title' => 'Test FCM',
        'body' => 'This is a test of FCM',
    ])
    ->send();

Logging

To see the original response from Firebase, call enableResponseLog() method before calling the send() method., (*24)

fcm()
    ->to($recipients)
    // ...
    ->enableResponseLog()
    ->send();

Then you can check the response log in the file storage/logs/laravel.log, (*25)

The Versions

11/04 2018

dev-master

9999999-dev

A package to send Firebase notification cross Laravel Application

  Sources   Download

The Requires

 

by Muhammad Amirul Ihsan

11/04 2018

0.1.1

0.1.1.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

The Requires

 

by Muhammad Amirul Ihsan

07/02 2018

0.0.9

0.0.9.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

The Requires

 

by Muhammad Amirul Ihsan

11/01 2018

0.0.8

0.0.8.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

The Requires

 

by Muhammad Amirul Ihsan

22/09 2017

0.0.7

0.0.7.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

The Requires

 

by Muhammad Amirul Ihsan

22/09 2017

0.0.6

0.0.6.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

The Requires

 

by Muhammad Amirul Ihsan

07/08 2017

0.0.5

0.0.5.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

The Requires

 

by Muhammad Amirul Ihsan

07/08 2017

0.0.4

0.0.4.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

by Muhammad Amirul Ihsan

07/08 2017

0.0.3

0.0.3.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

by Muhammad Amirul Ihsan

01/03 2017

0.0.2

0.0.2.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

by Muhammad Amirul Ihsan

01/03 2017

0.0.1

0.0.1.0

A package to send Firebase notification cross Laravel Application

  Sources   Download

by Muhammad Amirul Ihsan