定制 akshita/notification-firebase-twilio-email-package 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

akshita/notification-firebase-twilio-email-package

Composer 安装命令:

composer require akshita/notification-firebase-twilio-email-package

包简介

send notification to users by email and twilio SMS and push notification by firebase

README 文档

README

Simplify and streamline sending notifications through Firebase Cloud Messaging, Twilio SMS, and Email.

GitHub Repository »

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:

  1. Install the package via Composer:

    composer require akshita/notification-firebase-twilio-email-package
  2. 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.

统计信息

  • 总下载量: 36
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-08-18