Thank you, also I have to thank @haxpor to give the information to change registration_ids to to, without that change my code would not work, so I just had to do some small changes to get the code working on my server because I need to send message to topics:


// API access key from Google API's Console
define('API_ACCESS_KEY', 'AIzaSyDta...');
// prep the bundle
$msg = array
'body' => 'This is a message sent from my http server',
'title' => 'From server side',
'priority' => 'high',
'sound' => 'default',
'time_to_live' => 3600
$fields = array('to' => '/topics/news', 'notification' => $msg);

$headers = array
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
echo $result;

5 days trying to make a push from server side, with some headaches and frustration but now it finally works perfectly