File: /home/clientsoftwares/www/saagsystem.clientsoftwares.com/app/Http/Controllers/Controller.php
<?php
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Mail;
use LaravelFCM\Message\OptionsBuilder;
use LaravelFCM\Message\PayloadDataBuilder;
use LaravelFCM\Message\PayloadNotificationBuilder;
use FCM;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function send_mail($mail_header,$subject,$to_mail){
Mail::send('mail_templates.forgot_password', $mail_header, function ($message)
use ($subject,$to_mail) {
$message->from(env('MAIL_USERNAME'), env('APP_NAME'));
$message->subject($subject);
$message->to($to_mail);
});
}
public function send_fcm($title,$description,$token){
$optionBuilder = new OptionsBuilder();
$optionBuilder->setTimeToLive(60*20);
$optionBuilder->setPriority("high");
$notificationBuilder = new PayloadNotificationBuilder($title);
$notificationBuilder->setBody($description)
->setSound('default')->setBadge(1);
$dataBuilder = new PayloadDataBuilder();
$dataBuilder->addData(['a_data' => 'my_data']);
$option = $optionBuilder->build();
$notification = $notificationBuilder->build();
$data = $dataBuilder->build();
$downstreamResponse = FCM::sendTo($token, $option, $notification, $data);
return $downstreamResponse->numberSuccess();
}
}