AnswerBun.com

Error al enviar una notificación push desde php a app Android

Stack Overflow en español Asked by Alien69 on January 4, 2022

Hola comunidad de Stackoverflow, he estado mirando varias secciones de la misma pregunta pero no he encontrado una buena respuesta, entonces decidí formular la mía con mi respecto problema, mi problema es la siguiente, he creado una app que recibe notificaciones mediante un apartado web escrito en el lenguaje PHP, la app está conectada a Firebase y hecha en Android Studio, a continuación les proporciono el apartado PHP:

    <?php
$titulo = $_GET['titulo'];
$mensaje = $_GET['mensaje'];

 ////////ENVÍO DE NOTIFICACIÓN/////////
$fcmUrl = 'https://fcm.googleapis.com/fcm/send';
$token = 'acá está el token';
$apiKey = 'acá está el api cloud key';
$notification = ['title' => $titulo, 'body' => $mensaje, 'icon' => 'myIcon', 'sound' => 'mySound'];
$extraNotificationData = ["message" => $notification, "moredata" => 'dd'];
$fcmNotification = [
        
'to' => $token,
'notification' => $notification, 'data' => $extraNotificationData];
$headers = ['Authorization: key=' . $apiKey, 'Content-Type: application/json'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $fcmUrl);
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, json_encode($fcmNotification));
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>

<!DOCTYPE html>
<html>
<head>
    <title>Enviar Notificación</title>
</head>
<body>
<form action="generar_notificacion" method="GET">
    <input type="text" name="titulo">
    <input type="text" name="mensaje">
    <input type="submit" value="Enviar">
</form>
</body>
</html>

Es un apartado muy simple ya que es de prueba, mi intención inicial es hacer la prueba a un dispositivo en concreto y luego a todos los dispositivos que luego tendré que averiguar por que no tengo idea de como hacerlo, siguiendo con la pregunta, cuando abro la web, sin siquiera hacer el envío me sale el siguiente error:

ERROR: {"multicast_id":17618352122632735,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]}

También cuando lo envío aparece el mismo error y no sé a que se debe, la app está formulada correctamente, me tomé la molestia de revisar antes de publicar la pregunta, agradecería mucho si pudieran ayudarme a encontrar la solución, gracias de ante mano

One Answer

El código que pusiste funciona a la perfección. ¿Pusiste el server key del cloud?

Porque mucha gente se confunde y pone el apikey que no es el mismo, para enviar notificaciones a un usuario o usuarios en particular/es tienes que anteriormente capturar el token, esto podes hacerlo con esta función:

this.afMessaging.getToken
    .subscribe(
      (token) => {
        if(token){
          // token present
          this.notifications = true;
        }
      },
      (error) => { console.error(error); },
    )

Yo las guardo en el servidor y después consultas por medio del mail, etc y obtienes el token que guardaste.

Saludos.

Answered by federico rosciano on January 4, 2022

Add your own answers!

Related Questions

bajar el peso de una imagen Base 64

0  Asked on February 27, 2021 by mrsdy-soto

   

Conectar Wise-4051 a Base de datos

0  Asked on February 27, 2021 by jos-castaeda

       

Problema con Java SDK o con Netbeans

0  Asked on February 25, 2021 by rhca

     

Deshabilitar una fecha que ya esta registrado con PHP

0  Asked on February 24, 2021 by cristhian-chavez-alonso

   

como formatear JSON con javascript

1  Asked on February 23, 2021 by benjamin-alexis-rivas-beltran

     

Bcrypt NodeJS – Hash de contraseña

1  Asked on February 23, 2021

   

Suma de fila por columna

1  Asked on February 23, 2021 by milagros

 

Generar grupo en grafico C#

1  Asked on February 23, 2021 by alejandro-reyes

     

Eliminar repositorios archivados de GitHub

0  Asked on February 22, 2021 by youshiro

   

addEventListener para un botón que se mantiene pulsado

1  Asked on February 21, 2021 by perico-palote

     

Fallo de índice en una entidad débil MySQL

1  Asked on February 21, 2021 by crmiguez

   

No se pueden enviar correos usando php en una instancia de google cloud

2  Asked on February 21, 2021 by carlos-cotton

   

¿Puedo explotar el método de verificación java.security.Signature?

0  Asked on February 20, 2021 by adalher2478

 

Segundo array con los numeros pares del primero

1  Asked on February 19, 2021 by laker

 

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP