piyushpatil/androidpushnotification

Laravel package to send push notifications to android mobile devices (gcm)

dev-master 2015-04-13 05:17 UTC

This package is not auto-updated.

Last update: 2024-04-13 15:06:32 UTC


README

Package to enable sending push notifications to android devices.

Installation

Update your composer.json file to include this package as a dependency

"piyushpatil/androidpushnotification": "dev-master"

Register the PushNotification service provider by adding it to the providers array in the config/app.php file.

'providers' => [
     'Piyushpatil\Androidpushnotification\AndroidpushnotificationServiceProvider',
]

Alias the PushNotification facade by adding it to the aliases array in the config/app.php file.

'aliases' => [
    'PushNotification' => 'Piyushpatil\Androidpushnotification\Facades\PushNotification',
]

Configuration

Copy the config file into your project by running

 php artisan vendor:publish --provider="piyushpatil/androidpushnotification" --tag="config"

This will generate a config file like this

    return [
    'Android' => [
        'environment' => 'production',
        'apiKey' => 'yourAPIKey',
        'service' => 'gcm'
    ]
];

Where all first level keys corresponds to an service configuration, each service has its own properties, android for instance have apiKey. You can set as many services configurations as you want, one for each app.

Dont forget to set service key to identify Android 'service'=>'gcm'

Where app argument Android refers to defined service in config file. To multiple devices and optioned message:

In Controller file write this line.

use PushNotification; 


PushNotification::app('Android')
                ->to($deviceToken)
                ->send('Hello World, i`m a push message');


$devices = PushNotification::DeviceCollection(array(
    PushNotification::Device('token', array('badge' => 5)),
    PushNotification::Device('token1', array('badge' => 1)),
    PushNotification::Device('token2')
));

collection = PushNotification::app('Android')
    ->to($devices)
    ->send($message);

// get response for each device push
foreach ($collection->pushManager as $push) {
    $response = $push->getAdapter()->getResponse();
}

[Notification Package]:https://github.com/Ph3nol/NotificationPusher
[Laravel Queues]:http://laravel.com/docs/queues