@techoproMas

Почему не приходят уведомления Cloud Messaging?

Пишу серверную часть для отправки уведомлений конкретному пользователю на устройство. В ответе сообщение отправляет, а по факту - не приходит. Главное с Консоли - приходят. В чем может быть беда?

$tokens = array();
	$tokens[0] = '!!!';
	$message = array("message" => '12345');
	
	$url = 'https://fcm.googleapis.com/fcm/send';
	
	$fields = array(
			'registration_ids' => $tokens,
			'data' => $massage
			);
			
	$headers = array(
			'Authorization:key = !!!',
			'Content-Type: application/json'
			);
			
	$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    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));
	echo "---".$ch."---";
	
    $result = curl_exec($ch);           
    if ($result === FALSE) {
        die('Curl failed: ' . curl_error($ch));
    }
    curl_close($ch);

	
	echo $result;


{"multicast_id":6833045560665960461,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1565387661837510%836c9c22f9fd7ecd"}]}
  • Вопрос задан
  • 604 просмотра
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Мне немного лениво разбираться, но, сходу, вопрос. Почему бы не пользоваться официальным sdk? м?
Ответ написан
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Возможно, дело в опечатке:
$message / $massage

Не знаком с php, он ругается в таких случаях, или молчит?

UPD:
Судя по ответу fcm, запрос Гугл принимает. И на мобилу доставить должен. Похожая схема у меня работает отлично, единственное отличие — я отправляю не списком, а на одно устройство.

Возможна проблема на принимающей стороне. Как вы обрабатываете входящее сообщение? С такими параметрами (указано "data", но нет "notification") никакого автоматического всплывающего уведомления не будет — сообщение нужно обрабатывать на мобиле программно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы