dwivedianuj9118 / firebase-fcm-notification
This is laravel Firebase Cloud Messaging(FCM) Notification package for Php developer
Requires
- php: ^7.4|^8.0
- ext-json: *
- illuminate/support: ^8.0
Requires (Dev)
- guzzlehttp/guzzle: ^6.2|^7.0
- kreait/firebase-php: ^7.16
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
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:
- Individual device tokens
- Topics
- Multiple devices (Multicast)
- Send both notification and data payloads
- 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.