Synopsis

Firebase implements a service to send push notification to Android or iOS devices.
It uses Google's Firebase Cloud Messaging to deliver the notification.

Firebase allows

  • to send push and silent push notifications
  • to group messages
  • to customize icon, sound and click action
  • to manage topics

Module Setup

These are the steps to get the notifications working:

  1. Create a Firebase account
  2. Add Firebase to your iOS project OR Android project
  3. Enable this module
  4. Add your firebase Server Key into /admin/config/system/firebase
  5. Each device has a token. Store that token on Drupal
  6. Call Firebase service passing the device's token and message
// Token is generated by app. You'll have to send the token to Drupal.
$fakeToken = 'e3vUiwcvkpY:APA91bEDZzKTIkaL0e-UTwiV6EGi1m5J5PrDMxejm6-d85vdwAgd';
$messageService = \Drupal::service('firebase.message');
$messageService->setRecipients($fakeToken);
$messageService->setNotification([
  'title' => 'Title goes here',
  'body' => 'Body goes here',
  'badge' => 1,
  'icon' => 'optional-icon',
  'sound' => 'optional-sound',
  'click_action' => 'optional-action',
]);
$messageService->setData([
  'score' => '3x1',
  'date' => '2017-10-10',
  'optional' => 'Data is used to send silent pushes. Otherwise, optional.',
]);
$messageService->setOptions(['priority' => 'normal']);
$messageService->send();

Read README.md for other examples.

Supporting organizations: 

Project information

Releases