Necessito enviar uma notificação simples para todos os usuários de um determinado APP via Firebase . Ja tenho a estrutura no Firebase e o código no APP. Utilizando o envio pelo console do Firebase a notificação chega aos dispositivos.
Porem, pelo programa do servidor PHP não.
Este é ´código PHP:
$fields = array(
'to'=> 'USEI A CHAVE DO SERVIDOR -TOKEN DA SEÇÃO CLOUDMESSAGING DO FIREBASE',
array('notification' => array(
array(
'title' => 'Titulo Nótificação',
'body' => 'Teste de corpo da notificação'
))
));
$js = json_encode($fields);
if (json_last_error() == 0){
echo json_encode($fields) . '<br><br>';
$headers = array(
'Authorization: key=' . API_ACCESS_KEY, //<-- CHAVE DA API DA GUIA GERAL DO PROJETO
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://fcm.googleapis.com/fcm/send');
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, $js );
$result = curl_exec($ch);
}
Aparentemente ele envia, como podemos ver no retorno abaixo:
{"multicast_id":8304187227008726645,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1547574914070362%00000000f9fd7ecd"}]}
Mas não chega aos dispositivos que tem o APP instalado. Me informaram que para enviar para o APP como um todo não posso usar o parâmetro TO no Json, mas não estou conseguindo entender como fazer isto, porque se removo o TO, o retorno do firebase devolve justamente uma string to, apenas isso. Alguém pode me ajudar com uma explicação o melhor ainda, com uma explicação e um exemplo?