Giter Site home page Giter Site logo

yii2-apnsgcm-through-rabbitmq's Introduction

yii2 APNs-Gcm through RabbitMQ

yii2 APNs-Gcm through RabbitMQ extension

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist gbksoft/yii2-apnsgcm-through-rabbitmq "*"

or add

"gbksoft/yii2-apnsgcm-through-rabbitmq": "*"

to the require section of your composer.json file.

Usage

First of all, you need to configure the following extensions to work with RebbitMQ:

in your main.php your configuration would look like this

'components' => [
	'apns' => [
		'class' => 'gbksoft\apnsGcm\Apns',
		'environment' => \gbksoft\apnsGcm\Apns::ENVIRONMENT_SANDBOX,
		'pemFile' => dirname(__FILE__).'/apnssert/apns-dev.pem',
		// 'retryTimes' => 3,
		'options' => [
			'sendRetryTimes' => 5
		]
	],
	'gcm' => [
		'class' => 'gbksoft\apnsGcm\Gcm',
		'apiKey' => 'your_api_key',
	],
	// using both gcm and apns, make sure you have 'gcm' and 'apns' in your component
	'apnsGcm' => [
		'class' => 'gbksoft\apnsGcm\ApnsGcm',
		// custom name for the component, by default we will use 'gcm' and 'apns'
		//'gcm' => 'gcm',
		//'apns' => 'apns',
	],
]

Online Tester

Please visit the link for online tester http://apns-gcm.bryantan.info

Usage

Usage using APNS only

/* @var $apnsGcm \gbksoft\apnsGcm\Apns */
$apns = Yii::$app->apns;
$apns->send($push_tokens, $message,
  [
    'customProperty_1' => 'Hello',
    'customProperty_2' => 'World'
  ],
  [
    'sound' => 'default',
    'badge' => 1
  ]
);

Usage using GCM only

/* @var $apnsGcm \gbksoft\apnsGcm\Gcm */
$gcm = Yii::$app->gcm;
$gcm->send($push_tokens, $message,
  [
    'customerProperty' => 1,
  ],
  [
    'timeToLive' => 3
  ],
);

Usage using APNS and GCM Together

Send using Google Cloud Messaging

/* @var $apnsGcm \gbksoft\apnsGcm\ApnsGcm */
$apnsGcm = Yii::$app->apnsGcm;
$apnsGcm->send(\gbksoft\apnsGcm\ApnsGcm::TYPE_GCM, $push_tokens, $message,
  [
    'customerProperty' => 1
  ],
  [
    'timeToLive' => 3
  ],
)

Send using Apple push notification service

/* @var $apnsGcm \gbksoft\apnsGcm\ApnsGcm */
$apnsGcm = Yii::$app->apnsGcm;
$apnsGcm->send(\bryglen\apnsgcm\ApnsGcm::TYPE_APNS, $push_tokens, $message,
  [
    'customerProperty' => 1
  ],
  [
    'sound' => 'default',
  	'badge' => 1
  ],
)

Add to RebbitMQ queue a push notification

/* @var $apnsGcm \gbksoft\apnsGcm\ApnsGcm */
$apnsGcm = Yii::$app->apnsGcm;
$apnsGcm->addToQueue(\gbksoft\apnsGcm\ApnsGcm::TYPE_APNS, $push_tokens, $message,
  [
    'customerProperty' => 1
  ],
  [
    'sound' => 'default',
  	'badge' => 1
  ],
)

You need to add console command to config like this

'controllerMap' => [
    'apnsGcm' => [
        'class' => 'gbksoft\apnsGcm\console\ApnsGcmController',
    ],
],

This extension is fork of https://github.com/bryglen/yii2-apns-gcm

yii2-apnsgcm-through-rabbitmq's People

Contributors

littlefuntik avatar

Watchers

James Cloos avatar  avatar  avatar GBKSOFT avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.