send notification to users by email and twilio SMS and push notification by firebase
akshita/notification-firebase-twilio-email-package is a Laravel package for send notification to users by email and twilio sms and push notification by firebase.
It currently has 0 GitHub stars and 36 downloads on Packagist.
Install it with composer require akshita/notification-firebase-twilio-email-package.
Discover more Laravel packages by akshita
or browse all Laravel packages to compare alternatives.
Last updated
Simplify and streamline sending notifications through Firebase Cloud Messaging, Twilio SMS, and Email.
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.
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,
],
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 = '[email protected]';
$subject = 'Important Update';
$message = 'Hello from Email Notification!';
Notification::sendEmail($recipient, $subject, $message);
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
...
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.'
],
....
];
Contributions are welcome! If you encounter issues or want to propose enhancements, please open an issue or submit a pull request on GitHub.
This package is open-source software licensed under the MIT License.