<?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 [ // ]; } }