sarga/packages/Sarga/Admin/src/Http/Firebase.php

56 lines
1.1 KiB
PHP
Raw Normal View History

2022-11-21 04:54:10 +00:00
<?php
namespace Sarga\Admin\Http;
use Carbon\Carbon;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log;
class Firebase
{
public $data;
public $priority;
public $notification;
public $to;
public function __construct($to,$content,$priority = 'high')
{
$this->data = [
'click_action' => 'FLUTTER_NOTIFICATION_CLICK',
] + $content;
$this->notification = [
'sound' => 'default',
'title' => $content['title'],
'body' =>$content['content']
];
$this->to = $to;
$this->priority = $priority;
}
public function send(){
$body = json_encode((object)$this);
$response = Http::withHeaders([
'Authorization' => config('notification.push.token'),
'Content-Type' => 'application/json'
])->withBody($body,'application/json')
->timeout(30)
->post(config('notification.push.url'));
if($response->failed())
{
Log::error($response);
$response->throw();
}
}
}