Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alfa6661/laravel-firebase

Google Firebase Notification for Laravel
https://github.com/alfa6661/laravel-firebase

firebase-notification laravel laravel-firebase laravel5-package notifications

Last synced: 2 months ago
JSON representation

Google Firebase Notification for Laravel

Awesome Lists containing this project

README

        

# laravel-firebase

[![StyleCI](https://styleci.io/repos/66539893/shield?style=flat)](https://styleci.io/repos/66539893)
[![Total Downloads](https://poser.pugx.org/alfa6661/laravel-firebase/downloads)](https://packagist.org/packages/alfa6661/laravel-firebase)
[![Latest Stable Version](https://poser.pugx.org/alfa6661/laravel-firebase/v/stable)](https://packagist.org/packages/alfa6661/laravel-firebase)
[![Latest Unstable Version](https://poser.pugx.org/alfa6661/laravel-firebase/v/unstable)](https://packagist.org/packages/alfa6661/laravel-firebase)

Google Firebase Notification for Laravel

This package makes it easy to send Firebase Notification with Laravel

## Installation

You can install the package via composer:

``` bash
composer require alfa6661/laravel-firebase
```

You must install the service provider:

```php
// config/app.php
'providers' => [
...
Alfa6661\Firebase\FirebaseServiceProvider::class,
],
```

### Setting up your Firebase account

Add your Firebase Key to your `config/services.php`:

```php
// config/services.php
...
'firebase' => [
'api_key' => env('FIREBASE_API_KEY'),
],
...
```

## Usage

Now you can use the channel in your `via()` method inside the notification:

``` php
use Alfa6661\Firebase\FirebaseChannel;
use Alfa6661\Firebase\FirebaseMessage;
use Illuminate\Notifications\Notification;

class CreditWasCreated extends Notification
{
public function via($notifiable)
{
return [FirebaseChannel::class];
}

public function toFirebase($notifiable)
{
return FirebaseMessage::create()
->title('Title')
->body('Push notification body')
->data(['id' => $notifiable->id]);
}
}
```

In order to let your Notification know which device user(s) you are targeting, add the `routeNotificationForFirebase` method to your Notifiable model.

You can either return a single device token, or if you want to notify multiple device just return an array containing all devices.

```php
public function routeNotificationForFirebase()
{
return ["DEVICE_TOKEN", "DEVICE_TOKEN"];
}
```