Notificaciones de Firebase cuando la aplicación está cerrada
He implementado la notificación de Firebase en mi aplicación de Android. Cuando mi aplicación se ejecuta, la notificación se muestra con mi diseño personalizado, pero cuando la aplicación no se está ejecutando, la notificación se muestra con el diseño predeterminado. ¿Cómo puedo cambiar el diseño de la notificación a mi diseño cuando la aplicación no se está ejecutando. Además, almaceno las preferencias compartidas para permitir que el usuario cambie las notificaciones. Pero cuando la aplicación no se está ejecutando la notificación se muestra de todos modos. ¿Cómo lograrlo?
@Override public void onMessageReceived(RemoteMessage remoteMessage) { if(SettingsFragment.getReceiceNotification()){ //if user wants to receive notification NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.push_notification_layout); remoteViews.setImageViewResource(R.id.push_notif_icon,R.mipmap.ic_bird_black); Intent intent = new Intent(this,MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this); notificationBuilder.setContent(remoteViews); notificationBuilder.setContentTitle("Radyo Türkkuşu"); notificationBuilder.setContentText(remoteMessage.getNotification().getBody()); notificationBuilder.setAutoCancel(true); notificationBuilder.setSmallIcon(R.mipmap.ic_launcher); notificationBuilder.setContentIntent(pendingIntent); remoteViews.setTextViewText(R.id.push_title, "Radyo Türkkuşu"); remoteViews.setTextViewText(R.id.push_context, remoteMessage.getNotification().getBody()); //notificationBuilder.setLights (ContextCompat.getColor(MainActivity.context, R.color.pushColor), 5000, 5000); notificationManager.notify(0,notificationBuilder.build()); } }
- Notificación de envío de FCM que muestra el icono cuadrado blanco en lugar del icono de la aplicación cuando la aplicación está en el fondo
- ¿Cómo realizar un seguimiento de las notificaciones push de FCM enviar el formulario al lado del servidor o Rest Client?
- Temas en la mensajería de Cloud Firebase?
- Firebase onTokenRefresh () no se llama
- Actividad abierta en la notificación de firebase recibida en primer plano
- Firebase envía la notificación push dos veces
- Firebase console: Cómo especificar click_action para notificaciones
- ¿Qué es FCM token en Firebase?
- ¿Cómo enviar un mensaje desde Firebase al dispositivo cuando se mata la aplicación?
- Aplicación abierta en la notificación de firebase recibida (FCM)
- Al hacer clic en la notificación no se abre la actividad mencionada
- ¿Puede Firebase Console enviar datos de carga útil?
- ¿Cómo envía una Notificación Firebase a todos los dispositivos a través de CURL?
El problema es que lo utilice con la bandeja de notificaciones.
Ver este enlace
Mensajes con la carga de notificación y de datos, tanto de fondo como de primer plano. En este caso, la notificación se entrega a la bandeja del sistema del dispositivo y la carga útil de datos se entrega en los extras de la intención de la Actividad del lanzador.
Si utiliza {data:"something"}(data-message)
con {notification:"something"}(display-message)
mientras su aplicación está en segundo plano, la carga útil de datos se entregará a los extras de la intención pero no al onMessageReceived()
Método.Supongo que implementar su código para mostrar la notificación, por lo que cuando su aplicación está en primer plano onMessageReceived()
es un disparador y mostrar la notificación de deseo que desea, pero cuando no es onMessageReceived()
Con la carga de notificación. Sólo tienes que eliminar {notification:"something"}(display-message/notification tray)
desde tu código de servidor para asegurar siempre onMessageReceived()
.
Para cualquier persona mención de keep onMessageReceived()
siempre desencadenará no importa si no es primer plano o fondo por favor visite este enlace
Hay dos tipos de mensajes FCM
- Mensaje de notificación
- Mensaje de datos
Los mensajes que se envían desde la consola de Firebase son mensajes de notificación . Para obtener el mensaje en onMessageReceived () use Data Message . Utilizar
{"A": "bk3RNwTe3H0: CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1 …", "data": {"Nick": "Mario", "body": "great match!", "Room": "PortugalVSDenmark" Para enviar Notificación.
Referencia https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages
- Cómo invisible un control de diseño en android
- No se puede resolver el símbolo abc_ic_search_api_mtrl_alpha