PHPackages                             jgab-net/android-gcm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. jgab-net/android-gcm

ActiveLibrary

jgab-net/android-gcm
====================

Send push notification with GCM

1.0.0(12y ago)2591GPL-3.0PHPPHP &gt;=5.3.0

Since Apr 10Pushed 12y ago1 watchersCompare

[ Source](https://github.com/jgab-net/android-gcm)[ Packagist](https://packagist.org/packages/jgab-net/android-gcm)[ RSS](/packages/jgab-net-android-gcm/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Laravel - Android GCM
=====================

[](#laravel---android-gcm)

Paquete laravel para enviar notificaciones usando Google Could Message (GCM)
----------------------------------------------------------------------------

[](#paquete-laravel-para-enviar-notificaciones-usando-google-could-message-gcm)

### Instalando

[](#instalando)

```
composer require jgab-net/android-gcm dev-master
```

### Publicando configuración

[](#publicando-configuración)

```
php artisan config:publish jgab-net/android-gcm
```

> El archivo de configuración se publica en app/config/packages/jgab-net/android-gcm/config.php
>
> Coloquen el api\_key generado en  para el servidor

```
return array(
    'api_key' => 'aquí el api_key'
);
```

### Configurando base de datos

[](#configurando-base-de-datos)

Es necesario correr la migración del paquete para que se genere la tabla donde se guardaran los tokens (registrations\_id) que representan los dispositivos android que recibirán notificaciones

```
php artisan migrate --package=jgab-net/android-gcm
```

> Es importante que esta migración se ejecute después de que corras las migraciones de tu proyecto o exista la tabla users en tu sistema, porque se creara una clave foránea con users.id, si no existe la tabla la migración mostrará un error, sin embargo puedes continuar ignorando el error, simplemente perderás la clave foranea

### Programando

[](#programando)

Para almacenar el token(registration\_id) solo necesitas agregar la siguiente línea, en el lugar que lo desees (el registration\_id se supone estar llegando desde el dispositivo android, y el user\_id pertenece al usuario que accedió a la aplicación)

```
AndroidGcm::addRegistrationId($registration_id, $user_id);
```

Si estas usando algún paquete aparte para el manejo de accesos de tu usuario puedes trabajar con un filtro after, ej:

- filters.php

```
Route::filter('android.gcm',function($route, $request, $response){

    /*verificamos que venga de una respuesta json (Response::json())
     y que exista un registration_id en el input */

    if($response instanceof \Illuminate\Http\JsonResponse
        && Input::has('registration_id')){

        // Obtenemos el contenido de la respuesta
        $content = json_decode($response->getContent());

        AndroidGcm::addRegistrationId(Input::get('registration_id'), $content->user->id);
    }
});
```

La explicación ya se encuentra en el código de ejemplo

- routes.php

```
Route::post('auth',  array('after' => 'android.gcm', 'uses' => 'Vendor\Paquete\Controller@method'));

```

### Notificando

[](#notificando)

Para notificar simplemente ejecutamos el método send, el primer valor es un array con los tokens(registration\_ids) de los dispositivos a notificar, y el segundo es un callback que recibe los tokens(registration\_ids) que realmente fueron notificados

> La librería internamente reemplazará los tokens(registration\_ids) desactualizados, para que en la próxima ejecución del envio se transmitan las notificaciones a los dispositivos faltantes

```
AndroidGcm::send($registrationIds,function($successRegistrationIds){

    /*
      Aquí puedes actualizar la bandera que indique que ya no debes
      enviar la notificación a los dispositivos
      Puedes usar $successRegistrationIds para valerte de esto.
    */
});
```

Si necesitas algún otro valor dentro del callback puedes pasarlo con (use)

```
AndroidGcm::send($registrationIds,function($successRegistrationIds) use($otherValue1,$otherValue2){

    /*

    */
});
```

Para obtener la respuesta real del GCM

```
AndroidGcm::getApiResponse()
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4412d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a851f6fad2bfc63b00cd787bc41bb6dd7582439279546a5f924d5ed361afbb33?d=identicon)[jgab.net](/maintainers/jgab.net)

---

Top Contributors

[![jgab-net](https://avatars.githubusercontent.com/u/1688035?v=4)](https://github.com/jgab-net "jgab-net (17 commits)")

### Embed Badge

![Health badge](/badges/jgab-net-android-gcm/health.svg)

```
[![Health](https://phpackages.com/badges/jgab-net-android-gcm/health.svg)](https://phpackages.com/packages/jgab-net-android-gcm)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M681](/packages/barryvdh-laravel-ide-helper)[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[api-platform/laravel

API Platform support for Laravel

59126.4k5](/packages/api-platform-laravel)[dragon-code/migrate-db

Easy data transfer from one database to another

15717.4k](/packages/dragon-code-migrate-db)[label84/laravel-auth-log

Log user authentication actions in Laravel.

3654.0k](/packages/label84-laravel-auth-log)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
