@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"}]}
  • Вопрос задан
  • 524 просмотра
Пригласить эксперта
Ответы на вопрос 2
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Мне немного лениво разбираться, но, сходу, вопрос. Почему бы не пользоваться официальным sdk? м?
Ответ написан
AlexanderYudakov
@AlexanderYudakov
C#, 1С, Android, TypeScript
Возможно, дело в опечатке:
$message / $massage

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽