【发布时间】:2020-04-10 06:25:57
【问题描述】:
TL;DR:Firebase 云消息仅在 Android 9+ 设备上的“heads-up”通知中不显示我的应用程序图标。 https://developer.android.com/guide/topics/ui/notifiers/notifications#Heads-up
加长版:
当我直接从 Firebase 或通过任何 Rest Client 向 https://fcm.googleapis.com/fcm/send 端点发送云消息时,一切看起来都很好,消息显示在屏幕上,带有标题、描述和图标,设备发出声音,它消失在一段时间,但停留在通知栏和通知抽屉中。
在消息传送到运行 Android 10 或 9(但不是全部)的设备之前,一切正常。通知栏和通知抽屉工作正常,消息本身看起来与旧 Android 版本完全相同。 但是提示错过了我的应用程序的图标。到目前为止,我还没有向 Firebase 发送任何带有有效负载的“图标”,但即使我将带有 URL 的“图标”属性设置为我的图标,它仍然不会出现在提示中。我已将相同的 URL 放在“图像”属性中,然后图像出现在提示中,但我认为它不是应该用于在通知中显示应用程序图标的属性。
有没有人注意到同样的问题?我尝试查看 Google Android 文档 - 但它看起来已经过时并且以 Android 8 结尾。我尝试了 Firebase 文档,但它说“图标”属性是可选的(这就是我没有附加它的原因)。
我已在以下位置测试通知:
- Android 设备:5.1(工作)、7(工作)、8.1(工作)、9(工作!)、另一个 9(不工作)、10 (不起作用)
- 安卓模拟器:8.1(工作),9(不工作),10(不工作)。
有效载荷只是:
{
"to": "(...)",
"notification": {
"title": "Push from RestClient",
"body": "Notification body"
},
"data": {}
}
当然,我已经添加了 Firebase 所需的 default_notification_icon、颜色和通道。这不是这里的解决方案。
【问题讨论】:
标签: android firebase push-notification firebase-cloud-messaging android-notifications