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