gbksoft / yii2-apnsgcm-through-rabbitmq
yii2 APNs-GCM through RabbitMQ extension
Installs: 139
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- bryglen/yii2-apns-gcm: *
- duccio/apns-php: dev-master
- php-gcm/php-gcm: 1.1.*
- webtoucher/yii2-amqp: *
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-12-17 03:58:34 UTC
README
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