gbksoft / yii2-apnsgcm-through-rabbitmq

yii2 APNs-GCM 通过 RabbitMQ 扩展

v1.0.5 2016-01-08 11:01 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:49:22 UTC


README

yii2 APNs-Gcm 通过 RabbitMQ 扩展

安装

安装此扩展的首选方式是通过 composer

可以运行

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

或者在您的 composer.json 文件的 require 部分添加

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

使用

首先,您需要配置以下扩展以与 RebbitMQ 一起工作

在您的 main.php 中配置将如下所示

'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',
	],
]

在线测试器

请访问在线测试器的链接 http://apns-gcm.bryantan.info

使用

仅使用 APNS 的用法

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

仅使用 GCM 的用法

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

同时使用 APNS 和 GCM 的用法

使用 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
  ],
)

使用 Apple 推送通知服务发送

/* @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
  ],
)

将推送通知添加到 RebbitMQ 队列

/* @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
  ],
)

您需要将控制台命令添加到配置中,如下所示

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

此扩展是 https://github.com/bryglen/yii2-apns-gcm 的分支