Firebase 通知始终显示空白图标

Firebase Notification Always shows blank icon

我是 FCM 的新手。我无法让 FCM 使用我的应用程序图标作为通知图标,并且图标始终是白色空白。

我将图标导入到 mipmap 文件夹,但似乎没有任何变化。正如一些人所说,这是因为棒棒糖通知

但问题是,FCM 通知会自动弹出,我无法让通知生成器覆盖图标。我该如何更改它?

如果您遇到这个问题

看到这个link:

我遇到了同样的问题。我通过制作设计师的透明图像来解决。 确保您的徽标应为 72*72 像素。

注意:不要浪费时间在 google 上搜索这个问题,您只需要一个尺寸应为 72*72 的透明图标。

这是 FCM 的默认行为。当应用程序在后台时,它会显示白色图标。

使用此标签并将其放入您的清单中。对我来说这很有效。希望它也对你有用。确保 meta-data 在应用程序内部,如 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" />

当没有为传入通知设置图标时,firebase 将采用默认图标并显示通知。

要覆盖默认图标,请将以下代码添加到您的 Android 清单文件中

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

更多信息可以关注link

我遇到了同样的问题,并按照此处建议的所有方法进行操作,但没有任何效果。

最终,将 firebase 插件从 11.8.0 降级到 11.6.0 解决了这个问题 github issue

这也可能对某人有所帮助。

将您的通知保持在 72 x 72 大小,并完全白色。请参阅此答案所附的照片。

然后将下面的代码粘贴到您的清单中。

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

您可以使用 Android Studio 的默认图标包制作新图标。

为此右键单击您的 drawable 文件夹 > New > Image Asset

唯一对我有用的是在 Android 工作室中 生成一个 通知图标 图像资产。 要使用图像作为通知图标,只需将资产类型设置为“图像”和 select 文件。

提示 #1:在透明背景上使用白色图标!

提示 #2:如果 window 右侧的预览仅包含白色方块,您的通知图标看起来就像那样 - 白色方块!

提示 #3:资产的名称应该添加到 AndroidManifest

中的 meta-data 标签中
<meta-data
 android:name="com.google.firebase.messaging.default_notification_icon"
 android:resource="@drawable/whatever_you_set_for_image_asset_name" />

来源:摘自