Grey square as notification icon using Firebase notifications
It's not related to Firebase. Starting with Android 3.0 status icons were revised, and "are composed simply of white pixels on a transparent backdrop, with alpha blending used for smooth edges and internal texture where appropriate" https://developer.android.com/guide/practices/ui_guidelines/icon_design_status_bar.html. From what I've seen, starting Android 5.0 you are forced to provide these all white small status icons otherwise the gray square icon shows up.
This question Icon not displaying in notification: white square shown instead has answers that explain further and also show how to force your app to use the original ic_launcher icon although that doesn't seem like a good idea to me since you are forcing it to target an older sdk and also not following material design guidelines.
What you really should do is provide the small white icons which you can generate here http://romannurik.github.io/AndroidAssetStudio/icons-notification.html add them to your project and then configure FCM to use them as explained in the accepted answer
<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" />
From Firebase 9.8.0 it is possible to change this icon, by adding info about this in 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" />
Example you will find here:
https://github.com/firebase/quickstart-android/blob/master/messaging/app/src/main/AndroidManifest.xml