ardhi
1 year ago
5 changed files with 219 additions and 9 deletions
@ -0,0 +1,49 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace App\Services; |
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Http; |
||||||
|
|
||||||
|
class FCMService |
||||||
|
{ |
||||||
|
public static function send($fcm_token, $notification) |
||||||
|
{ |
||||||
|
$url = 'https://fcm.googleapis.com/fcm/send'; |
||||||
|
// $url = 'https://fcm.googleapis.com/v1/projects/594814396007/messages:send'; |
||||||
|
|
||||||
|
$serverKey = config('fcm.server_key'); |
||||||
|
$data = [ |
||||||
|
"registration_ids" => [$fcm_token], |
||||||
|
"notification" => [ |
||||||
|
"title" => $notification['title'], |
||||||
|
"body" => $notification['body'], |
||||||
|
] |
||||||
|
]; |
||||||
|
$encodedData = json_encode($data); |
||||||
|
|
||||||
|
$headers = [ |
||||||
|
'Authorization:key=' . $serverKey, |
||||||
|
'Content-Type: application/json', |
||||||
|
]; |
||||||
|
|
||||||
|
$ch = curl_init(); |
||||||
|
|
||||||
|
curl_setopt($ch, CURLOPT_URL, $url); |
||||||
|
curl_setopt($ch, CURLOPT_POST, true); |
||||||
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); |
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); |
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); |
||||||
|
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); |
||||||
|
// Disabling SSL Certificate support temporarly |
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); |
||||||
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $encodedData); |
||||||
|
|
||||||
|
$result = curl_exec($ch); |
||||||
|
if ($result === FALSE) { |
||||||
|
return array("success"=> false, "message"=> curl_error($ch)); |
||||||
|
} |
||||||
|
// Close connection |
||||||
|
curl_close($ch); |
||||||
|
return array("success"=> true, "message"=> $result); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue