grohiro/laravel-firebase

Firebase Cloud Message for Laravel

1.0.1 2018-02-14 10:33 UTC

This package is auto-updated.

Last update: 2024-03-29 03:09:36 UTC


README

Firebase Channel plugin for Laravel.

use Illuminate\Notifications\Notification;
use Grohiro\Laravel\FCM\FirebaseChannel;
use paragraph1\phpFCM\Message;
use paragraph1\phpFCM\Recipient\Device;
use paragraph1\phpFCM\Notification;

/**
 * @see https://laravel.com/docs/5.5/notifications#custom-channels
 */
class PushMessage extends Notification
{
  public function via($notifiable)
  {
    return [FirebaseChannel::class];
  }
  
  public function toFcmMessage($user)
  {
    // @see https://github.com/Paragraph1/php-fcm
    $note = new Notification('test title', 'testing body');
    $note->setIcon('notification_icon_resource_name')
        ->setColor('#ffffff')
        ->setBadge(1);
    $message = new Message();
    $message->addRecipient(new Device($user->user_device_token));
    $message->setNotification($note)
            ->setData(array('someId' => 111));
    return $message;
  }
}

Requirements

Usage

1. Install laravel-firebase

$ composer require grohiro/laravel-firebase dev-master

2. Setup Guzzle HTTP client

Add the ServiceProvider to app.php

// config/app.php
'providers' => [
  \Grohiro\Laravel\FCM\ServiceProvider::class,
];

3. Create Laravel Notification class

php artisan make:notification PushNotification

4. Set Firebase API key

// config/app.php
'firebase' => [
  'api_key' => 'your-api-key'
],