Я использую Firebase API с использованием php и отправляю данные сообщения в формате JSON. Ответ дает мне message_id
, но сообщение не доставляется.
Когда я использовал Firebase Console вместо API с теми же полями, он был успешно доставлен.
Мой php-код:
<?php
$json_data = '{ "data": {
"title": "Hey you got a message",
"text": "Hi from firebase api"
},
"to": "/topics/all",
"priority": "high"
}';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Authorization:key="Used my server key here"'
));
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
echo $output;
?>
Ответ:
{"message_id":64666973642901*****}
PS: Использовал звездочки, чтобы скрыть информацию.
ОБНОВЛЕНИЕ: сообщение доставляется, когда я устанавливаю в поле to
определенный токен. Но не работает, когда установлено значение topics/all
. Есть ли другой способ отправить его всем тем, кто связан с приложением, как в консоли?