Estoy empezando con el nuevo servicio de Google para las notificaciones, Firebase Cloud Messaging
.
Gracias a este código https://github.com/firebase/quickstart-android/tree/master/messaging pude enviar notificaciones desde mi Firebase User Console a mi dispositivo Android.
¿Hay alguna API o forma de enviar una notificación sin usar la consola Firebase? Me refiero, por ejemplo, a una API PHP o algo así, para crear notificaciones desde mi propio servidor directamente.
Respuestas:
Firebase Cloud Messaging tiene una API del lado del servidor a la que puedes llamar para enviar mensajes. Ver https://firebase.google.com/docs/cloud-messaging/server .
Enviar un mensaje puede ser tan simple como usar
curl
para llamar a un punto final HTTP. Ver https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocolfuente
Esto funciona usando CURL
$message
es tu mensaje para enviar al dispositivo$id
es el token de registro de dispositivosYOUR_KEY_HERE
es la clave API del servidor (o la clave API del servidor heredado)fuente
{"multicast_id":3694931298664346108,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MessageTooBig"}]}
. ¿Qué se puede hacer para arreglar esto?Use una API de servicio.
URL:
https://fcm.googleapis.com/fcm/send
Tipo de método:
POST
Encabezados
Cuerpo / carga útil:
Y con esto en su aplicación, puede agregar el siguiente código en su actividad que se llamará:
También verifique la respuesta en Firebase onMessageReceived no llamado cuando la aplicación está en segundo plano
fuente
"to" : "to_id(firebase refreshedToken)"
lugar de la identificación del dispositivo?"all"
no funciona en absoluto Estoy usando C #WebRequest
para enviar notificaciones. @AshikurRahman su sugerencia también es bienvenida. Estoy luchando y buscando desde 3-4 días.Enviar mensajes a dispositivos específicos
Para enviar mensajes a dispositivos específicos, configure el token de registro para la instancia de aplicación específica
Enviar mensajes a temas
aquí el tema es: / topics / foo-bar
Enviar mensajes a grupos de dispositivos
Enviar mensajes a un grupo de dispositivos es muy similar a enviar mensajes a un dispositivo individual. Establezca el parámetro a en la clave de notificación única para el grupo de dispositivos
URL de API:
https://fcm.googleapis.com/fcm/send
Encabezados
Método de solicitud:
POST
Cuerpo de solicitud
Mensajes a dispositivos específicos
Mensajes a temas
Mensajes a grupos de dispositivos
fuente
Como lo mencionó Frank, puede usar la API HTTP de Firebase Cloud Messaging (FCM) para activar notificaciones push desde su propio back-end. Pero no podrás
Significado: tendrá que almacenar los identificadores de registro de FCM / GCM (tokens de inserción) usted mismo o usar temas de FCM para suscribirse a los usuarios. Tenga en cuenta también que FCM no es una API para notificaciones de Firebase , es una API de nivel inferior sin programación o análisis de tasa de apertura. Las notificaciones de Firebase se basan en FCM.
fuente
Primero debe obtener un token de Android y luego puede llamar a este código php e incluso puede enviar datos para acciones adicionales en su aplicación.
fuente
Puede utilizar, por ejemplo, un script PHP para Google Cloud Messaging (GCM). Firebase y su consola están justo encima de GCM.
Encontré este en github: https://gist.github.com/prime31/5675017
Sugerencia: este script PHP genera una notificación de Android .
Por lo tanto: lea esta respuesta de Koot si desea recibir y mostrar la notificación en Android.
fuente
Se pueden enviar notificaciones o mensajes de datos al servidor de mensajería en la nube base de Firebase utilizando el punto final FCM HTTP v1 API. https://fcm.googleapis.com/v1/projects/zoftino-stores/messages:send .
Debe generar y descargar la clave privada de la cuenta de servicio con la consola Firebase y generar la clave de acceso con la biblioteca de cliente de la API de Google. Use cualquier biblioteca http para publicar el mensaje en el punto final anterior, el código siguiente muestra la publicación del mensaje usando OkHTTP. Puede encontrar el código completo del lado del servidor y del lado del cliente en la mensajería en la nube de Firebase y enviar mensajes a varios clientes utilizando el ejemplo de tema fcm
Si necesita enviar un mensaje específico del cliente, debe obtener la clave de registro de Firebase del cliente, consulte el envío de mensajes específicos del cliente o dispositivo al servidor FCM.
fuente
Esta solución de este enlace me ayudó mucho. Puedes echarle un vistazo.
El archivo curl.php con esas líneas de instrucción puede funcionar.
Recuerda
you need to execute curl.php file using another browser ie not from the browser that is used to get the user token. You can see notification only if you are browsing another website.
fuente
fuente
Si desea enviar notificaciones push desde Android, consulte mi publicación de blog
Enviar notificaciones push de 1 teléfono Android a otro sin servidor.
enviar notificaciones push no es más que una solicitud de publicación a https://fcm.googleapis.com/fcm/send
fragmento de código con volley:
Les sugiero a todos que revisen mi publicación de blog para obtener detalles completos.
fuente
Con Firebase Console puede enviar mensajes a todos los usuarios según el paquete de la aplicación, pero con CURL o PHP API no es posible.
A través de la API Puede enviar notificaciones a ID de dispositivo específico o usuarios suscritos a los temas seleccionados o usuarios de temas suscritos.
fuente
O puede usar las funciones en la nube de Firebase, que es para mí la forma más fácil de implementar sus notificaciones push. firebase / samples-funciones
fuente
Si usa PHP, le recomiendo usar PHP SDK para Firebase: Firebase Admin SDK . Para una configuración fácil, puede seguir estos pasos:
Obtenga el archivo json de credenciales del proyecto de Firebase ( Inicialice el sdk ) e en su proyecto.
Instale el SDK en su proyecto. Yo uso compositor:
Pruebe cualquier ejemplo de la sesión de Cloud Messaging en la documentación del SDK:
fuente