¿Cómo comprobar el estado de entrega del mensaje de Firebase enviado a una aplicación de Android?
Estoy probando el JSON Firebase para comprobar los recibos de entrega de la notificación enviada a la aplicación de noticias. Puedo enviar con éxito el mensaje a la aplicación de Android sin ningún problema y recibo el mensaje en mi aplicación de Android. Sin embargo, quiero saber cómo y dónde puedo comprobar si la notificación se entregó correctamente a la aplicación de Android.
¿Cómo utilizo el message_id
y / o multicast_id
que se devuelve para obtener el estado de entrega de la notificación? No puedo encontrar ejemplos de código de trabajo para comprobar el estado de entrega con Firebase. ¿Alguien tiene el código JSON de trabajo para consultar el estado de entrega de un mensaje de Firebase a través de la message_id
y / o multicast_id
u otra forma? La documentación de Firebase no da ejemplos sobre cómo hacer esto (o tal vez perdí el ejemplo).
- ¿Debe mantenerse en secreto la Clave API de GCM?
- Notificación FCM: No se pudo inicializar
- ¿Cómo envía una Notificación Firebase a todos los dispositivos a través de CURL?
- Firebase Cloud Messaging - Android: haga clic en la acción de notificación cuando se cierra la aplicación no funciona
- Cómo manejar Token en Firebase Token Service en Android?
Consulte la Firebase JSON que se utiliza a continuación para enviar la notificación a la aplicación de noticias de Firebase. La ayuda de cualquier persona es muy apreciada.
En el encabezado establezco la key=firebase_server_key
autorización key=firebase_server_key
y el tipo de contenido se establece en application/json
{ "to" : "token received from firebase", "notification" : { "body" : "test", "title" : "Alert", "icon" : "myicon", "delivery_receipt_requested": true } }
Salida del cartero:
{"multicast_id":7845213569874521,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:4853214789631%31bd1c9631bd1c96"}]}
- ¿Es gratuito Firebase Cloud Messaging?
- Obtenga el valor de RemoteMessage del método FCM onMessageReceived
- FCM con AWS SNS
- ¿Cómo realizar un seguimiento de las notificaciones push de FCM enviar el formulario al lado del servidor o Rest Client?
- Qué es "serviceAccountKey.json" que se refiere en el tutorial de notificaciones de dispositivo a dispositivo de Firebase
- ¿Puede la notificación FCM sobre Android sobreescribir anterior?
- La aplicación de Android no recibe la notificación de FCM cuando se cierra
- Las notificaciones de FCM Push no muestran la visualización de los cabezales en la notificación en la parte superior de la pantalla
Confirmando lo que @ user7410521 dijo en la sección de comentarios. En la actualidad, no hay ninguna API disponible para hacer uso de la función message_id
s / multicast_id
s para recuperar los detalles del estado de entrega del mensaje enviado, aparte de usar la página de diagnósticos de FCM . Tenga en cuenta también que la página de diagnósticos sólo se puede utilizar cuando la aplicación ya está publicada (para la prueba Alpha o posterior).
Me di cuenta de que incluyó el parámetro delivery_receipt_requested
en su carga útil. Recibir la confirmación de un mensaje debe ser suficiente para determinar que el dispositivo recibió el mensaje.
Aunque no hay API hasta ahora también podría averiguarlo. He intentado un workarond. Desde el lado del servidor PHP estoy enviando un mensaje FCM. Permítanme presentar cómo he manejado esto en PHP.
$fcm_return = fcm_message_send($message); $fcm_return_JSON = json_decode($fcm_return, true); echo $$fcm_return_JSON['success'];
Como estoy enviando un mensaje a un dispositivo, estoy comparando la vuelta con 1. Basado en esto usted podría poner más lejos su lógica.