2017 © Pedro Peláez
 

symfony-bundle rms-push-notifications-bundle

Push notifications/messages for mobile devices

image

msouverain/rms-push-notifications-bundle

Push notifications/messages for mobile devices

  • Tuesday, January 20, 2015
  • by maxime.souverain
  • Repository
  • 1 Watchers
  • 0 Stars
  • 14,482 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 145 Forks
  • 0 Open issues
  • 9 Versions
  • 1 % Grown

The README.md

RMSPushNotificationsBundle

A bundle to allow sending of push notifications to mobile devices. Currently supports Android (C2DM, GCM), Blackberry and iOS devices., (*1)

Installation

To use this bundle in your Symfony2 project add the following to your composer.json:, (*2)

{
    "require": {
        // ...
        "richsage/rms-push-notifications-bundle": "dev-master"
    }
}

and enable it in your kernel:, (*3)

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new RMS\PushNotificationsBundle\RMSPushNotificationsBundle(),
    );
}

NOTE: If you are still using Symfony 2.0, please use the symfony2.0 branch., (*4)

Configuration

Configuration options available are as follows. Note that the specific services will only be available if you provide configuration respectively for them., (*5)

rms_push_notifications:
  android:
      c2dm:
          username: <string_android_c2dm_username>
          password: <string_android_c2dm_password>
          source: <string_android_c2dm_source>
      gcm:
          api_key: <string_android_gcm_api_key> # This is titled "Server Key" when creating it
          use_multi_curl: <boolean_android_gcm_use_multi_curl> # default is true
  ios:
      sandbox: <bool_use_apns_sandbox>
      pem: <path_apns_certificate> # can be absolute or relative path (from app directory)
      passphrase: <string_apns_certificate_passphrase>
  mac:
      sandbox: <bool_use_apns_sandbox>
      pem: <path_apns_certificate>
      passphrase: <string_apns_certificate_passphrase>
  blackberry:
      evaluation: <bool_bb_evaluation_mode>
      app_id: <string_bb_app_id>
      password: <string_bb_password>
  windowsphone: true

NOTE: If you are using Windows, you may need to set the Android GCM use_multi_curl flag to false for GCM messages to be sent correctly., (*6)

Usage

A little example of how to push your first message to an iOS device, we'll assume that you've set up the configuration correctly:, (*7)

use RMS\PushNotificationsBundle\Message\iOSMessage;

class PushDemoController extends Controller
{
    public function pushAction()
    {
        $message = new iOSMessage();
        $message->setMessage('Oh my! A push notification!');
        $message->setDeviceIdentifier('test012fasdf482asdfd63f6d7bc6d4293aedd5fb448fe505eb4asdfef8595a7');

        $this->container->get('rms_push_notifications')->send($message);

        return new Response('Push notification send!');
    }
}

The send method will detect the type of message so if you'll pass it an AndroidMessage it will automatically send it through the C2DM/GCM servers, and likewise for Mac and Blackberry., (*8)

Android messages

Since both C2DM and GCM are still available, the AndroidMessage class has a small flag on it to toggle which service to send it to. Use as follows:, (*9)

use RMS\PushNotificationsBundle\Message\AndroidMessage;

$message = new AndroidMessage();
$message->setGCM(true);

to send as a GCM message rather than C2DM., (*10)

iOS Feedback service

The Apple Push Notification service also exposes a Feedback service where you can get information about failed push notifications - see here for further details., (*11)

This service is available within the bundle. The following code demonstrates how you can retrieve data from the service:, (*12)

$feedbackService = $container->get("rms_push_notifications.ios.feedback");
$uuids = $feedbackService->getDeviceUUIDs();

Here, $uuids contains an array of Feedback objects, with timestamp, token length and the device UUID all populated., (*13)

Apple recommend you poll this service daily., (*14)

Thanks

Firstly, thanks to all contributors to this bundle!, (*15)

, (*16)

Secondly, thanks to JetBrains for their sponsorship of an open-source PhpStorm licence for this project., (*17)

The Versions

20/01 2015

dev-master

9999999-dev https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns mpns c2dm blackberry windowsphone

20/01 2015

dev-bugfix-recursive

dev-bugfix-recursive https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns mpns c2dm blackberry windowsphone

02/01 2015

0.1.3

0.1.3.0 https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns mpns c2dm blackberry windowsphone

23/01 2014

0.1.2

0.1.2.0 https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns c2dm blackberry

04/11 2013

0.1.1

0.1.1.0 https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns c2dm blackberry

09/10 2013

dev-windows-mobile

dev-windows-mobile https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns c2dm blackberry

30/09 2013

dev-add-logger

dev-add-logger https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

The Development Requires

bundle notification ios push gcm apns c2dm blackberry

05/09 2013

0.1.0

0.1.0.0 https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns c2dm blackberry

05/03 2013

dev-symfony2.0

dev-symfony2.0 https://github.com/richsage/RMSPushNotificationsBundle

Push notifications/messages for mobile devices

  Sources   Download

MIT

The Requires

 

bundle notification ios push gcm apns c2dm blackberry