android - 前台应用程序通知几乎是空的,后台应用程序收到通知但没有自定义数据

标签 android firebase push-notification foregroundnotification

我正在使用 Kotlin 开发一个 Android 应用程序,我想发送通知以便点击它并打开自定义 View 。

感谢 Firebase,我已经实现了通知。我可以向 Firebase 发送通知,但只有当应用程序处于后台时,通知才能很好地显示(带有正确的图标(=三角形)、正确的标题和正确的消息),但自定义未检测到 firebase 中提供的数据(key => val)。

对于 foreground 应用程序,如果我从 Firebase 发送通知,我可以显示自定义数据 (key => val),但通知没有标题、消息或自定义图标 (它有方形/圆形图标)

与其显示我的所有代码,我更愿意向您提供我关注的链接。

https://www.android4dev.com/firebase-pushnotification-android/

我希望两边的结果相同,这样我就可以获得自定义数据。

查看结果:

enter image description here

最佳答案

FCM 消息有两种类型,行为会根据它发生变化。

  • 通知消息(这些由 SDK 自动处理)
  • 数据消息(由应用处理)

Use notification messages when you want FCM to handle displaying a notification on your client app's behalf. Use data messages when you want to process the messages on your client app. https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

我认为您应该使用 data messages 而不是 notification messages 以获得一致的行为。

关于android - 前台应用程序通知几乎是空的,后台应用程序收到通知但没有自定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54655059/

相关文章:

java - 如何检查 Java 中的 firebase 任务是否完成?

ios - 推送通知测试工作流程 [iOS]

android - 无法在android中设置推送通知声音

android - 以编程方式 Fling ListView Android

json - 用于验证要导入 Firebase 的 JSON 的工具

ios - Firebase 在启动时随机崩溃

flutter - 如何清除 Flutter 中的 firebase 通知?

javascript - 将admob广告添加到phonegap应用程序

android - AltBeacon:Android 信标库。如何定义Eddystone的区域?

java - 从根元素访问自定义 XML 属性