Я пытаюсь отправить уведомления FCM с помощью скрипта PHP, на событие вставки базы данных, я попытался отправить с консоли FCM, он отлично работал, используя параметр темы, зная, что я зарегистрировал экземпляр приложения в какой-то теме "exptopic", используя следующий код в классе MainActivity.java OnCreate:Уведомление FCM для android
FirebaseMessaging.getInstance().subscribeToTopic("exptopic");
Теперь PHP скрипт выглядит следующим образом:
function sendMessage($data,$target){
//FCM api URL
$url = 'https://fcm.googleapis.com/fcm/send';
//api_key available in Firebase console -> project settings -> cloud messaging -> server key
$server_key = "API_KEY";//my api key
$fields = array();
$fields['data'] = array('message'=>$data);
$fields['to'] = $target;
$headers = array('content-type:application/json',
'Authorization:key='.$server_key);
$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_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if($result === FALSE){
die('FCM Send error: '.curl_error($ch));
echo 'notification not sent';
}
curl_close($ch);
echo $result;
return $result;
}
Очевидно $target = "exptopic"
, когда я запускаю функцию snedMessage, она возвращает следующий результат:
{"multicast_id":6779996340041741184,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]}
Помогите пожалуйста?
MySQL, кажется, не имеют отношение к этому вопросу, тег удаляется. – tadman