WARNING

This channel is deprecated. Please see the GitHub Repo (opens new window) for more information

# Laravel GCM (Google Cloud Messaging) Notification Channel

Latest Version on Packagist (opens new window) Software License (opens new window) Build Status (opens new window) StyleCI (opens new window) SensioLabsInsight (opens new window) Quality Score (opens new window) Code Coverage (opens new window) Total Downloads (opens new window)

This package makes it easy to send notifications using Google Cloud Messaging (GCM) with Laravel 5.8.

This package is based on ZendService\Google\Gcm (opens new window), so please read that documentation for more information.

Google has deprecated/discontinued GCM as of April 11, 2019. As such, this package is also considered deprecated.

# Contents

# Installation

Install this package with Composer:

composer require laravel-notification-channels/gcm

Register the ServiceProvider in your config/app.php:

NotificationChannels\Gcm\GcmServiceProvider::class,

# Setting up the GCM service

You need to register for a server key for Google Cloud Messaging for your App in the Google API Console: https://console.cloud.google.com/apis/

Add the API key to your configuration in config/broadcasting.php

'connections' => [
  ....
  'gcm' => [
      'key' => env('GCM_KEY'),
  ],
  ...
]

# Usage

You can now send messages to GCM by creating a GcmMessage:

use NotificationChannels\Gcm\GcmChannel;
use NotificationChannels\Gcm\GcmMessage;
use Illuminate\Notifications\Notification;

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

    public function toGcm($notifiable)
    {
        return GcmMessage::create()
            ->title('Account approved')
            ->message("Your {$notifiable->service} account was approved!");
    }
}

In your notifiable model, make sure to include a routeNotificationForGcm() method, which return one or an array of tokens.

public function routeNotificationForGcm()
{
    return $this->gcm_token;
}

# Available methods

  • title($str)
  • message($str)
  • priority(GcmMessage::PRIORITY_NORMAL or GcmMessage::PRIORITY_HIGH)
  • data($key, $mixed)
  • notification($key, $mixed)
  • action($action, $params) (Will set an action data key)

# Changelog

Please see CHANGELOG (opens new window) for more information what has changed recently.

# Testing

$ composer test

# Security

If you discover any security related issues, please email info@fruitcake.nl instead of using the issue tracker.

# Contributing

Please see CONTRIBUTING (opens new window) for details.

# Credits

# License

The MIT License (MIT). Please see License File (opens new window) for more information.