Using Composer

To install this plugin, run composer require ker0x/cake-gcm or add this snippet in your project’s composer.json.

    "require": {
        "ker0x/cake-gcm": "~2.0"

Enable plugin

You need to enable the plugin in your config/bootstrap.php file:


If you are already using Plugin::loadAll();, then this is not necessary.

Get an API key

Go to and enable Google Clous Messaging API

Use the Gcm class

First, you have to include it :

use ker0x\CakeGcm\Webservice\Gcm;

Then, in your code:

$Gcm = new Gcm(['api' => ['key' => '*****']]);
$Gcm->send($ids, $payload, $parameters);


  • ***** is your API key (required)
  • $ids is a string or an array of device ids. (required)
  • $payload is an array containing the notification and/or some datas that will be passed to a device. (optional)
  • $paramaters is an array of parameters for the notification. (optional)

You could have the response of the request by using the function response():

$response = $Gcm->response();

Use the component

In src/Controller/AppController.php, add :

$this->loadComponent('ker0x/CakeGcm.Gcm', [
    'api' => [
        'key' => '*****'

in your Controller’s initialize() method.

Then, in an action of one of your Controller, add the following code:

if ($this->Gcm->send($ids, $payload, $parameters)) {
    // do some stuff
} else {
    // do other stuff

$response = $this->Gcm->response();