35 lines
957 B
PHP
35 lines
957 B
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use Kreait\Firebase\Messaging;
|
|
use Kreait\Firebase\Messaging\CloudMessage;
|
|
use Kreait\Firebase\Messaging\Notification;
|
|
|
|
class FirebaseMessagingService
|
|
{
|
|
protected Messaging $messaging;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->messaging = app('firebase.messaging');
|
|
}
|
|
|
|
public function sendToToken(string $token, string $title, string $body, array $data = [])
|
|
{
|
|
$message = CloudMessage::withTarget('token', $token)
|
|
->withNotification(Notification::create($title, $body))
|
|
->withData($data);
|
|
|
|
return $this->messaging->send($message);
|
|
}
|
|
|
|
public function sendToTopic(string $topic, string $title, string $body, array $data = [])
|
|
{
|
|
$message = CloudMessage::withTarget('topic', $topic)
|
|
->withNotification(Notification::create($title, $body))
|
|
->withData($data);
|
|
|
|
return $this->messaging->send($message);
|
|
}
|
|
} |