Search code examples
androidfirebaseandroid-notificationsfirebase-cloud-messagingfirebase-notifications

Firebase Notification Always shows blank icon


I'm new with FCM. I cannot make FCM use my app icon as notification icon and the icon is always a white blank one.

I imported an icon to mipmap folders but nothing seems changed. As some dude say that this is because of lollipop notification as in this question

But the problem is, the FCM notification automatically pops up and I cannot get the Notification builder to override the icon. How can I change it?


Solution

  • This is the default behaviour of FCM. When app is in background it will take white icon.

    Use this tag and put it in your Manifest. For me this worked. Hope it works for you too. Ensure meta-data is inside application like the example mentioned in quickstart

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">
        <!-- [START fcm_default_icon] -->
        <!-- Set custom default icon. This is used when no icon is set for incoming notification messages. -->
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/ic_stat_ic_notification" />
        <!-- Set color used with incoming notification messages. This is used when no color is set for the incoming
             notification message. -->
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_color"
            android:resource="@color/colorAccent" />
        <!-- [END fcm_default_icon] -->
        <!-- [START fcm_default_channel] -->
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_channel_id"
            android:value="@string/default_notification_channel_id" />
        <!-- [END fcm_default_channel] -->
        <activity
            android:name=".EntryChoiceActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    
        <activity android:name=".kotlin.MainActivity" />
        <activity android:name=".java.MainActivity" />