dwivedianuj9118/firebase-fcm-notification

This is laravel Firebase Cloud Messaging(FCM) Notification package for Php developer

dev-main 2025-05-11 15:48 UTC

This package is auto-updated.

Last update: 2025-05-11 15:49:42 UTC


README

A Laravel wrapper to send Firebase Cloud Messaging (FCM) notifications via tokens, topics, or multicast using the kreait/firebase-php SDK.

πŸ“¦ Installation

Install the package via Composer:

composer require dwivedianuj9118/firebase-fcm-notification

Vendor Publish

php artisan vendor:publish --tag=papaya-fcm-config

πŸ” Setup

Add your Firebase credentials:

Download your firebase_credentials.json from Firebase Console.

Place the file at the following location in your Laravel project:

/public/firebase_credentials.json

βœ… Features

Send push notifications to:

  1. Individual device tokens
  2. Topics
  3. Multiple devices (Multicast)
  4. Send both notification and data payloads
  5. Logs notifications via Laravel logging

πŸš€ Usage

Import the NotificationService class:

use Dwivedianuj9118\FirebaseFcmNotification\NotificationService;

πŸ”Ή Send Notification to Device Token

NotificationService::sendTokenFcm(
    $fcmToken,
    'Welcome!', // Title
    'You have a new message.', // body Description
    'https://example.com/image.jpg' // Optional image
    'sound url' //Optional Sound 
);

πŸ”Ή Send Notification to Topic

NotificationService::sendTopicFcm(
    'news', // topic name
    'Breaking News!', // Title
    'Check out our latest update', // body Description
    null, // Optional image
    'default' //Optional Sound 
);

πŸ”Ή Send Multicast Notification (Multiple Devices)

NotificationService::sendMulticastFCM(
    [$token1, $token2], // multiple token separated by ,(commas)
    'Group Message', //Title 
    'This is sent to multiple devices.' // Body
);

Send Custom Notice (Flexible)

$data = [
    'title' => 'Custom Title',
    'body' => 'This is a custom message body',
    'custom_key' => 'custom_value'
];

// For notification
NotificationService::sendNotice($data, 'token', $fcmToken, 'notification');

// For data only
NotificationService::sendNotice($data, 'token', $fcmToken, 'data');

πŸ“ Logging

All notifications and errors are automatically logged via Laravel’s Log::info and Log::error.

πŸ›  Dependencies

  • kreait/firebase-php
  • Laravel 8+

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email dwivedianuj9118@gmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.