<?php
namespace App\Notifications;
use Benwilkins\FCM\FcmMessage;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class FCMNotification extends Notification
{
use Queueable;
public $notification;
public function __construct($notification)
{
$this->notification = $notification;
}
public function via($notifiable)
{
return ['fcm'];
}
public function toFcm($notifiable)
{
$message = new FcmMessage();
$notification = [
'title' => $this->notification['title'],
'body' => $this->notification['body'],
'deviceID' => $this->notification['deviceID'],
];
$data = [
'click_action' => "FLUTTER_NOTIFICATION_CLICK",
'id' => 1,
'status' => 'done',
'message' => $notification,
];
$message->content($notification)
->data($data)
->priority(FcmMessage::PRIORITY_HIGH);
return $message;
}
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('Thank you for using our application!');
}
public function toArray($notifiable)
{
return [
//
];
}
}