From fa8064bbd3c8dd64bde30793ff5e2526820de153 Mon Sep 17 00:00:00 2001 From: Rares Moldovan Date: Thu, 4 Feb 2021 16:50:16 +0200 Subject: [PATCH] [Notifier] [Firebase] Add data field to options --- .../Component/Notifier/Bridge/Firebase/CHANGELOG.md | 1 + .../Notifier/Bridge/Firebase/FirebaseOptions.php | 13 ++++++++++++- .../Notifier/Bridge/Firebase/FirebaseTransport.php | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Notifier/Bridge/Firebase/CHANGELOG.md b/src/Symfony/Component/Notifier/Bridge/Firebase/CHANGELOG.md index 815ac2a0fed81..5b5417f3c604a 100644 --- a/src/Symfony/Component/Notifier/Bridge/Firebase/CHANGELOG.md +++ b/src/Symfony/Component/Notifier/Bridge/Firebase/CHANGELOG.md @@ -5,6 +5,7 @@ CHANGELOG --- * The bridge is not marked as `@experimental` anymore + * Add `data` field to options 5.1.0 ----- diff --git a/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseOptions.php b/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseOptions.php index d632f7d3413e4..0194effb95dd9 100644 --- a/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseOptions.php +++ b/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseOptions.php @@ -27,10 +27,13 @@ abstract class FirebaseOptions implements MessageOptionsInterface */ protected $options; - public function __construct(string $to, array $options) + private $data; + + public function __construct(string $to, array $options, array $data = []) { $this->to = $to; $this->options = $options; + $this->data = $data; } public function toArray(): array @@ -38,6 +41,7 @@ public function toArray(): array return [ 'to' => $this->to, 'notification' => $this->options, + 'data' => $this->data, ]; } @@ -59,4 +63,11 @@ public function body(string $body): self return $this; } + + public function data(array $data): self + { + $this->data = $data; + + return $this; + } } diff --git a/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseTransport.php b/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseTransport.php index 6e6cefbc1630a..46a7fb689bc8c 100644 --- a/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseTransport.php +++ b/src/Symfony/Component/Notifier/Bridge/Firebase/FirebaseTransport.php @@ -65,6 +65,9 @@ protected function doSend(MessageInterface $message): SentMessage } $options['notification'] = $options['notification'] ?? []; $options['notification']['body'] = $message->getSubject(); + + $options['data'] = $options['data'] ?? []; + $response = $this->client->request('POST', $endpoint, [ 'headers' => [ 'Authorization' => sprintf('key=%s', $this->token),