CmntyPushBundle
![Software License][ico-license]
, (*1)
Symfony Bundle for cmnty/push., (*2)
Instalation
Require the bundle with composer:, (*3)
composer require cmnty/push-bundle
Register the bundle in app/AppKernel.php
:, (*4)
public function registerBundles()
{
$bundles = [
// ...
new Cmnty\PushBundle\CmntyPushBundle(),
// ...
];
return $bundles;
}
Configuration
cmnty_push:
push_services:
google:
enabled: true # Default false, automatically true when api_key is supplied.
api_key: "%gcm_sender_id%" # Required value.
mozilla:
enabled: true # Default true
If you plan on storing the push subscriptions using doctrine, you can use the provided mappings by this bundle., (*5)
# Doctrine Configuration
doctrine:
dbal:
types:
binary_string: Cmnty\PushBundle\Doctrine\Type\BinaryStringType
orm:
mappings:
PushSubscription:
type: xml
prefix: Cmnty\Push
dir: "%kernel.root_dir%/../vendor/cmnty/push-bundle/src/Resources/config/embeddable"
is_bundle: false
Usage
<?php
use Cmnty\Push\Crypto\AuthenticationSecret;
use Cmnty\Push\Crypto\PublicKey;
use Cmnty\Push\EndPoint;
use Cmnty\Push\Notification;
use Cmnty\Push\Subscription;
$notification = new Notification('Hello', 'Symfony!');
$subscription = new Subscription(
new Endpoint('...'),
new PublicKey::createFromBase64UrlEncodedString('...'),
new AuthenticationSecret::createFromBase64UrlEncodedString('...')
);
$client = $this->get('cmnty_push.client');
$client->pushNotification($notification, $subscription);
Credits
License
The MIT License (MIT). Please see License File for more information., (*6)