Cuadrado gris como icono de notificación mediante notificaciones de Firebase

Estoy intentando integrar Firebase Cloud Messaging en mi aplicación para Android. Pero cuando la aplicación está en segundo plano o está cerrada, la notificación de Firebase se muestra con un icono cuadrado gris en lugar del icono del lanzador de mi aplicación.

¿Cómo puedo hacer que el icono de notificación sea el logotipo de mi aplicación, sin implementar la API del servidor Firebase y enviar mensajes de datos?

Desde Firebase 9.8.0 es posible cambiar este icono, añadiendo información sobre esto en Manifest:

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_stat_ic_notification" /> <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorAccent" /> 

Ejemplo que encontrará aquí:

https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/AndroidManifest.xml

Es un error en firebase. Si su aplicación está en primer plano y la notificación se envía desde la Consola de Firebase, obtendrá el icono gris.

La solución es: Enviar notificaciones a través de API y no desde Console.

No está relacionado con Firebase. Comenzando con los iconos de estado de Android 3.0 se revisaron y "se componen simplemente de píxeles blancos sobre un fondo transparente, con mezcla alfa utilizada para bordes suaves y textura interna donde sea apropiado" https://developer.android.com/guide/practices/ui_guidelines /icon_design_status_bar.html . Por lo que he visto, a partir de Android 5.0 que se ven obligados a proporcionar todos estos pequeños iconos de estado blanco de lo contrario el icono cuadrado gris aparece.

Esta pregunta Icono que no se muestra en la notificación: el cuadrado blanco se muestra en su lugar tiene respuestas que explican más y también muestran cómo forzar a su aplicación para que utilice el ic_launcher icono original, aunque eso no parece una buena idea para mí, ya que están forzándolo a la meta Un sdk más viejo y también no siguiendo las pautas del diseño material.

Lo que realmente debe hacer es proporcionar los pequeños iconos blancos que puede generar aquí http://romannurik.github.io/AndroidAssetStudio/icons-notification.html agregarlos a su proyecto y luego configurar FCM para utilizarlos como se explica en el documento aceptado responder

 <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_stat_ic_notification" /> <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorAccent" /> 
  • FCM devuelve error: NotRegistered después del primer mensaje
  • Android no puede extender el servicio de mensajería de Firebase
  • Firebase disparando demasiadas alarmas
  • Error al resolver 'com.google.firebase: firebase-messaging: 11.0.4' en Android Studio 2.3.3
  • Cómo enviar una notificación push de FCM (firebase cloud messaging) desde el ADB al dispositivo
  • Cómo anular el registro del teléfono de la mensajería en la nube de firebase
  • Error "tipo de retorno int no es compatible con Intent" cuando se utiliza la clase FirebaseMessagingService
  • ANR con FCM y construir variantes con applicationIdSuffix
  • FCM (Firebase Cloud Messaging) Enviar a varios dispositivos
  • Cómo implementar notificaciones push para android en React Native
  • ¿Es posible usar la mensajería Firebase con Google Analytics en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.