akshita / notification-firebase-twilio-email-package
send notification to users by email and twilio SMS and push notification by firebase
Requires
- php: ^7.3
- illuminate/notifications: ^8.0
- illuminate/support: ^8.0
- kreait/laravel-firebase: ^4.2
- laravel/framework: ^8.0
This package is auto-updated.
Last update: 2025-03-27 15:26:50 UTC
README
Simplify and streamline sending notifications through Firebase Cloud Messaging, Twilio SMS, and Email.
Table of Contents
Introduction
Welcome to the Notification Firebase Twilio Email Package! This package provides a seamless way to send various types of notifications – such as text messages, SMS, and emails – to users through Firebase Cloud Messaging, Twilio SMS, and Laravel's built-in email capabilities. With this package, you can effortlessly engage with your users using their preferred communication channels.
Features
- Send notifications using Firebase Cloud Messaging to reach users' mobile devices.
- Utilize Twilio SMS functionality to deliver short messages to users' phones.
- Leverage Laravel's native email support to send detailed notifications via email.
- Customize and configure your notifications to suit your application's needs.
Installation
To start using the Notification Firebase Twilio Email Package, follow these steps:
-
Install the package via Composer:
composer require akshita/notification-firebase-twilio-email-package
-
In your Laravel project's
config/app.php
, add the service provider:
'providers' => [ // ... Akshita\NotificationFirebaseTwilioEmailPackage\Providers\NotificationServiceProvider::class, ],
Usage
Sending notifications is a breeze with the Notification Firebase Twilio Email Package. Here's how you can use it in your Laravel application:
use Akshita\NotificationFirebaseTwilioEmailPackage\Notification; // Test this package by Notification::test(); // Send all notification by one function based on Content_Configuration $recipient = ['FirebaseDeviceToken']; // one or more according to the need $action = 'login'; // data defined in the notification content file //veriables you want to replace $extra_data = [ 'user_name' => 'akshita', 'full_name' => 'Akshita Manlgik', 'otp' => '1234', ]; $result = Notification::sendNotification($recipientData, $action, $extra_data = null) if ($result) { // Notification sent successfully. } else { // Notification sending failed. } // Send a Firebase Cloud Messaging notification $recipient = ['FirebaseDeviceToken']; $data = [ "title" => $content['title'], "body" => $content['body'], "click_action" => $content['click_action'], ]; $result = Notification::sendFirebaseMessage($recipient, $content, $extra_data = null ); // Send a Twilio SMS notification $recipient = '+1234567890'; $message = 'Hello from Twilio SMS!'; Notification::sendTwilioSMS($recipient, $message); Notification::sendNexmoSMS($recipient, $message); // Send an email notification $recipient = 'user@example.com'; $subject = 'Important Update'; $message = 'Hello from Email Notification!'; Notification::sendEmail($recipient, $subject, $message);
Configuration
Configure your notification options by modifying the config/notification.php
file in your Laravel app. Customize settings such as API credentials, sender information, and more to fit your needs.
... FIREBASE_SERVER_KEY NOTIFICATION_MESSAGE_DRIVER // twilio or nexmo TWILIO_ACCOUNT_SID TWILIO_AUTH_TOKEN TWILIO_SERVICE_ID NEXMO_API_KEY NEXMO_API_SECRET NEXMO_FROM MAIL_MAILER MAIL_HOST MAIL_USERNAME MAIL_PASSWORD MAIL_FROM_NAME ...
Content_Configuration
Configure your notification options by modifying the config/notificationContent.php
file in your Laravel app. Customize settings such as witch notification to send, its content, and more to fit your needs.
return [ 'action' => [ 'push_notification' => 'true', 'title' => 'title', 'body' => 'body', 'click_action' => '', 'sms_message' => 'false', 'sms_message_body' => 'sms_message_body', 'email' => 'false', 'email_title' => 'email_title', 'email_body' => 'email_body' ], 'login' => [ 'push_notification' => 'true', 'title' => 'Login Successful', 'body' => '{{full_name}}, you have logged in successfully.', 'click_action' => '', 'sms_message' => 'true', 'sms_message_body' => '{{full_name}}, you have logged in successfully.', 'email' => 'false', 'email_title' => 'Login Successful Email Subject', 'email_body' => '{{full_name}}, you have logged in successfully.' ], .... ];
Contributing
Contributions are welcome! If you encounter issues or want to propose enhancements, please open an issue or submit a pull request on GitHub.
License
This package is open-source software licensed under the MIT License.