首页 > 解决方案 > 通知托盘中的 Android Bot 而不是启动器图标 - FCM

问题描述

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

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

但是,每当发送通知时,通知图标都会显示为 android bot。像在此处输入图像描述

我的启动器图标是一个不同的图标,可以正常工作

为了启动通知,我使用以下 json向https://fcm.googleapis.com/fcm/send发送 curl 请求 :

{ 
    "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。每当我在我发布到 fcm 的 json 中传递图标参数时,我都会看到以下日志

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

但是每当我不通过 json 中的图标时,我在 logcat 中看不到上述消息。

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

提前致谢

标签: androidfirebasepush-notificationionic3cordova-plugin-fcm

解决方案


最后我能够弄清楚这个问题。我不得不深入了解 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 并重建应用程序,我能够收到带有图标的通知


推荐阅读