Android 通知托盘中的机器人而不是启动器图标 - FCM

Android Bot in notification tray instead of launcher icon - FCM

我正在使用 ionic3 构建混合应用程序并使用 this fcm 推送通知 cordova 插件接收通知

我已经能够实现通知登陆设备和被触发的应用程序(使用标题、body、自定义等数据)

但无论何时发送通知,通知图标都会显示为 android 机器人。喜欢

我的启动器图标是一个不同的图标,效果很好

为了启动通知,我向 https://fcm.googleapis.com/fcm/send 发送了一个 curl 请求,其中包含以下 json:

{ 
    "to":"device_token",
    "priority":"high",
    "notification":{ 
        "title":"New Notification!", 
        "body":"Test", 
        "sound":"default", 
        "click_action":"FCM_PLUGIN_ACTIVITY", 
        "icon": "icon" //optional piece 
    }, 
}

icon.png 存在于所有 android/res/mipmap* 个目录中。

此外,我在 AndroidManifest.xml

中添加了以下元数据
<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@mipmap/icon" />

此外,我尝试从设备读取 logcat。每当我将 post 中的 json 中的图标参数传递给 fcm 时,我都会看到以下日志

06-12 23:43:38.457 22257 22303 W FirebaseMessaging: Icon resource icon not found. Notification will use default icon.

但是每当我在 json 中不传递图标时,我在 logcat 中看不到上面的消息。

我想我在某处遗漏了一件简单的事情,但无法弄清楚 请帮我指点,指导我可能哪里错了

提前致谢

我终于想通了这个问题。 我不得不深入研究 ADB 日志以找到以下内容:

06-18 20:46:59.898 11432 11470 E FirebaseMessaging: Icon with id: 2131165319 uses an invalid gradient. Using fallback icon.

然后我得到了对

的引用

经过进一步调查,我发现我的 project.properties 和 FCMPlugin.gradle 指向 firebase 11.8.0

在两个地方都将其更改为 11.0.1 并重建应用程序,我能够收到带有图标的通知