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.
- 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.
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 = 'user@example.com';
$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.