我的Android应用程序中遇到了非常奇怪的事情。在一些未知的情况下,通知栏中有时会出现空白通知,没有任何标题,正文和默认的灰色。唯一填充的是图标,这是我的默认应用程序图标(来自清单)。
当我手动创建通知时,项目中只有一个地方 - 通过rest api发送数据的意图服务。通知有自己的图标(不同于默认值),颜色,文本,进度条,并在服务运行时正常工作。我没有在此项目中配置任何云消息传递或推送通知。
我花了很多时间,我不知道为什么会出现上述空白通知。我会很感激任何提示如何防止它。
答案 0 :(得分:0)
是的,我也面临这个问题,当应用程序关闭时,通知会像这样显示。我在服务器端解决了这个问题。
FCM(Firebase云消息传递)中有两种类型的消息:
显示消息:仅当您的应用处于前台时,这些消息才会触发onMessageReceived()
回调
数据消息:即使您的应用处于前台/后台/被杀,这些消息也会触发onMessageReceived()
回调
Firebase小组还没有开发用于向您的设备发送data-messages
的用户界面。
请参阅此链接以实现
https://fcm.googleapis.com/fcm/send
以下标题:
密钥: Content-Type
,价值: application/json
密钥: Authorization
,价值: key=<your-server-key>
正文使用主题:
{
"to": "/topics/my_topic",
"data": {
"my_custom_key" : "my_custom_value",
"other_key" : true
}
}
或者将其发送到特定设备:
{
"data": {
"my_custom_key" : "my_custom_value",
"other_key" : true
},
"registration_ids": ["{device-token}","{device2-token}","{device3-token}"]
}
注意:请确保您没有添加JSON密钥通知
注意:要获取服务器密钥,您可以在firebase控制台中找到它:您的项目 - &gt;设置 - &gt;项目设置 - &gt;云消息传递 - &gt;服务器密钥