dimajolkin/symfony-firebase-notifier

There is no license information available for the latest version (v0.0.1) of this package.

v0.0.1 2024-06-23 15:50 UTC

This package is auto-updated.

Last update: 2024-11-04 08:01:34 UTC


README

Install

   composer required dimajolkin/symfony-firebase-notifier

Docs

Provides Firebase integration for Symfony Notifier.

Adapted for using http

Base copy from : https://github.com/symfony/firebase-notifier

include __DIR__ .'/../vendor/autoload.php';

use Dimajolkin\SymfonyFirebaseNotifier\Credential;
use Dimajolkin\SymfonyFirebaseNotifier\FirebaseTransport;
use Dimajolkin\SymfonyFirebaseNotifier\MessageType\TargetMessageOptions;
use Dimajolkin\SymfonyFirebaseNotifier\Notification\AndroidNotification;
use Dimajolkin\SymfonyFirebaseNotifier\Notification\CommonNotification;
use Symfony\Component\Notifier\Chatter;
use Symfony\Component\Notifier\Exception\TransportException;
use Symfony\Component\Notifier\Message\ChatMessage;

$file = file_get_contents('......json');

$token = Credential::fromServiceAccountContent($file)->getToken();

$chatter = new Chatter(new FirebaseTransport($token));

$chatMessage = new ChatMessage('super text');

$options = new TargetMessageOptions(
    token: '....',
    common: new CommonNotification(
      title: 'incident title',
      body: 'test message',
    ),
    android: new AndroidNotification(
        clickAction: 'open_incident_view',
    ),
    data: [
        'id' => '54841',
        'type' => 'incident',
        'title' => 'incident title',
        'message' => 'incident message',
    ],
);

// Add the custom options to the chat message and send the message
$chatMessage->options($options);
try {
    $chatter->send($chatMessage);
} catch (TransportException $exception) {
    echo $exception->getMessage();
}