2017 © Pedro Peláez
 

library php-gcm-queue

PHP Google Cloud Messaging (GCM) Queue Library

image

stevetauber/php-gcm-queue

PHP Google Cloud Messaging (GCM) Queue Library

  • Wednesday, July 18, 2018
  • by stevetauber
  • Repository
  • 1 Watchers
  • 5 Stars
  • 28 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 2 Open issues
  • 4 Versions
  • 4 % Grown

The README.md

Google Cloud Messaging (GCM) PHP Server Library

A PHP library for sending messages to devices registered through Google Cloud Messaging., (*1)

Requirements: - PHP >=5.6 - Redis database, (*2)

Libraries used: - chrisboulton/php-resque 1.2.x (MIT) - php-curl-class/php-curl-class 2.1.x (No License), (*3)

See: http://developer.android.com/guide/google/gcm/index.html, (*4)

Example usage

<?php
use \PhpGcmQueue as GCM;

class YourClass {

    public function someFunction() {
        /* The second param is our class that extends DefaultSendJob.php */
        GCM\Client::configure("YOUR GOOGLE API KEY", 'MyQueueJob');

        $message = GCM\Message::fromArray(array(
            'registration_ids' => array('device_registration_id1', 'device_registration_id2'),
            'data' => array('data1' => 123, 'data2' => 'string'),
        ));

        /* This can all be set in the original fromArray call. */
        $message
            ->setCollapseKey('collapse_key')
            ->setDelayWhileIdle(true)
            ->setTimeToLive(123)
            ->setRestrictedPackageName("com.example.trololo")
            ->setDryRun(true);

        /* Enqueues the message. php-resque will process via a worker. */
        GCM\Client::send($message);
    }

}

MyQueueJob.php, (*5)

<?php
class MyQueueJob extends \PhpGcmQueue\DefaultSendJob {

    /* See DefaultSendJob for all the possible statuses */
    public function tearDown() {
        if($this->response) {
            $failed = $this->response->getFailedIds();
            if(!empty($failed['InvalidRegistration'])) {
                foreach($failed['InvalidRegistration'] as $f) {
                    //remove from DB records
                }
            }
            if(!empty($failed['NotRegistered'])) {
                foreach($failed['NotRegistered'] as $f) {
                    //remove from DB records
                }
            }

            $newIds = $this->response->getNewRegistrationIds();
            if(!empty($newIds)) {
                foreach($newIds as $n) {
                    //Update DB records
                }
            }
        }
    }
}

job_app_include.php, (*6)

<?php
require_once "vendor/autoload.php"
require_once "MyQueueJob.php"

Command line:, (*7)

$ QUEUE=gcmDefault LOGGING=2 APP_INCLUDE=job_app_include.php php vendor/chrisboulton/php-resque/resque.php

ChangeLog

  • v0.1 - Initial release
  • v1 - Upgraded to support all new commands, iOS, php 5.6 required

Licensed under MIT license., (*8)

The Versions

18/07 2018

dev-master

9999999-dev

PHP Google Cloud Messaging (GCM) Queue Library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Steve Tauber

curl redis queue ios gcm android resque push message

06/03 2016

1.0.2

1.0.2.0

PHP Google Cloud Messaging (GCM) Queue Library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Steve Tauber

curl redis queue ios gcm android resque push message

18/01 2016

1

1.0.0.0

PHP Google Cloud Messaging (GCM) Queue Library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Steve Tauber

curl redis queue ios gcm android resque push message

21/11 2014

0.1

0.1.0.0

PHP Google Cloud Messaging (GCM) Queue Library

  Sources   Download

MIT

The Requires

 

The Development Requires

by Steve Tauber

curl redis queue gcm android resque push message