laravel firebase cloud messaging code example
Example 1: laravel firebase cloud messaging notifications
composer require laravel-notification-channels/fcm:~2.0
class AccountActivated extends Notification
{
public function via($notifiable)
{
return [FcmChannel::class];
}
public function toFcm($notifiable)
{
return FcmMessage::create()
->setData(['data1' => 'value', 'data2' => 'value2'])
->setNotification(\NotificationChannels\Fcm\Resources\Notification::create()
->setTitle('Account Activated')
->setBody('Your account has been activated.')
->setImage('http://example.com/url-to-image-here.png'))
->setAndroid(
AndroidConfig::create()
->setFcmOptions(AndroidFcmOptions::create()->setAnalyticsLabel('analytics'))
->setNotification(AndroidNotification::create()->setColor('#0A0A0A'))
)->setApns(
ApnsConfig::create()
->setFcmOptions(ApnsFcmOptions::create()->setAnalyticsLabel('analytics_ios')));
}
}
class User extends Authenticatable
{
use Notifiable;
public function routeNotificationForFcm()
{
return $this->fcm_token;
}
}
$user->notify(new AccountActivated);
Example 2: how to element firebase cloud messaging in laravel
use Illuminate\Notifications\Notification;
use Kutia\Larafirebase\Messages\FirebaseMessage;
class SendBirthdayReminder extends Notification
{
public function via($notifiable)
{
return ['firebase'];
}
public function toFirebase($notifiable)
{
$deviceTokens = [
'{TOKEN_1}',
'{TOKEN_2}'
];
return (new FirebaseMessage)
->withTitle('Hey, ', $notifiable->first_name)
->withBody('Happy Birthday!')
->asNotification($deviceTokens);
}
}