b3da/pusher-bundle

Symfony bundle for Android and Ios push notifications

Installs: 642

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 2

Forks: 1

Open Issues: 2

Type:symfony-bundle

1.0.0 2018-07-20 18:52 UTC

This package is not auto-updated.

Last update: 2024-04-27 16:58:24 UTC


README

b3da\PusherBundle

Symfony bundle for Android and Ios push notifications

Installation

  • add package to your project
$ composer require b3da/pusher-bundle "dev-master"
  • add bundle into AppKernel
new b3da\PusherBundle\b3daPusherBundle(),
  • add configuration for desired services in config.yml
b3da_pusher:
    fcm:  # Firebase Cloud Messaging
        server_key: 'foobarbaz'
    gcm:  # Google Cloud Messaging (deprecated)
        server_key: 'foobarbaz'
    apn:  # Apple Push Notification Service
        passphrase: 'foobarbaz'
        cert_path: 'cert.pem'  # relative to app root dir
  • optional - import routes in routing.yml and visit /pusher/api/doc/ for more info
b3da_pusher:
    resource: "@b3daPusherBundle/Controller/"
    type:     annotation
    prefix:   "/pusher/"

Usage

  • Android - Firebase Cloud Messaging
$msgSound = 'default';  # optional - can be 'default', 'none', or notification sound name
$msgNotoficationId = 1;  # optional - increment for display multiple notification simultaneously
$fcm = $this->get('b3da_pusher.android.fcm');
$message = new b3da\PusherBundle\Model\Message('title', 'message body', $msgSound, $msgNotificationId);
$fcm->notify($recipient, $message->composeAndroidFcmMessage());
# result:
dump($fcm->getOutputAsObject());
  • Android - Google Cloud Messaging (deprecated)
$msgSound = 'default';  # optional - can be 'default', 'none', or notification sound name
$msgNotoficationId = 1;  # optional - increment for display multiple notification simultaneously
$gcm = $this->get('b3da_pusher.android.gcm');
$message = new b3da\PusherBundle\Model\Message('title', 'message body', $msgSound, $msgNotificationId);
$gcm->notify($recipient, $message->composeAndroidGcmMessage());
# result:
dump($gcm->getOutputAsObject());
  • IOS - Apple Push Notification Service
$msgSound = 'default';  # optional - can be 'default', 'none', or notification sound name
$gcm = $this->get('b3da_pusher.ios.apn');
$message = new b3da\PusherBundle\Model\Message('title', 'message body', $msgSound);
$apn->notify($recipient, $message->composeIosMessage());
# result:
dump($apn->getOutputAsObject());

Full configuration with defaults

b3da_pusher:
    fcm:
        server_url: 'https://fcm.googleapis.com/fcm/send'
        server_key: null   # must be defined to use FCM
        proxy: null
    gcm:
        server_url: 'https://android.googleapis.com/gcm/send'
        server_key: null   # must be defined to use GCM
        proxy: null
    apn:
        server_url: 'ssl://gateway.sandbox.push.apple.com:2195'
        passphrase: null   # must be defined to use APN
        cert_path: 'cert.pem'   # must be defined to use APN