lutskanu / php-fcm
适用于Google Firebase Cloud Messaging (FCM)的PHP应用程序服务器
0.6.3
2016-08-02 08:06 UTC
Requires
- php: >=5.5
- guzzlehttp/guzzle: 6.2.0
Requires (Dev)
- mockery/mockery: 0.9.5
- phpunit/phpunit: 4.8.*
- satooshi/php-coveralls: dev-master
README
Firebase Cloud Messaging的PHP应用程序服务器实现。
- 支持设备消息和主题消息
- 当前此应用程序服务器库仅支持通过HTTP发送消息/通知。
- 感谢guzzle,我们的库通过PSR7兼容的响应对象来响应
- 有关Firebase Cloud Messaging的完整文档请参见: https://firebase.google.com/docs/cloud-messaging/
- Firebase Cloud Messaging HTTP协议: https://firebase.google.com/docs/cloud-messaging/http-server-ref#send-downstream 详细说明
设置 建议使用Composer安装。
命令行
composer require paragraph1/php-fcm
composer.json
"require": {
"paragraph1/php-fcm": "*"
}
发送到设备,也请参阅 https://firebase.google.com/docs/cloud-messaging/downstream
use paragraph1\phpFCM\Client; use paragraph1\phpFCM\Message; use paragraph1\phpFCM\Recipient\Device; use paragraph1\phpFCM\Notification; require_once 'vendor/autoload.php'; $apiKey = 'YOUR SERVER KEY'; $client = new Client(); $client->setApiKey($apiKey); $client->injectHttpClient(new \GuzzleHttp\Client()); $note = new Notification('test title', 'testing body'); $note->setIcon('notification_icon_resource_name') ->setColor('#ffffff') ->setBadge(1); $message = new Message(); $message->addRecipient(new Device('your-device-token')); $message->setNotification($note) ->setData(array('someId' => 111)); $response = $client->send($message); var_dump($response->getStatusCode());
发送到主题,也请参阅 https://firebase.google.com/docs/cloud-messaging/topic-messaging
use paragraph1\phpFCM\Client; use paragraph1\phpFCM\Message; use paragraph1\phpFCM\Recipient\Topic; use paragraph1\phpFCM\Notification; require_once 'vendor/autoload.php'; $apiKey = 'YOUR SERVER KEY'; $client = new Client(); $client->setApiKey($apiKey); $client->injectHttpClient(new \GuzzleHttp\Client()); $message = new Message(); $message->addRecipient(new Topic('your-topic')); $message->setNotification(new Notification('test title', 'testing body')) ->setData(array('someId' => 111)); $response = $client->send($message); var_dump($response->getStatusCode());