我在我的应用程序中使用Firebase Cloud Messaging,并且能够接收远程消息以及其中的数据和所需的一切。但是,即使我对远程消息不执行任何操作,也会自动显示一条通知,其中包含消息的内容。
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// This line is executed, with the full message
}
}
使用此代码,仍会触发Android通知,但我不希望它。我没有设置默认频道,即使在Android 8(我需要创建一个频道来发送通知)上,默认情况下也有一个频道。
如何删除此通知?
我只想以我自己的方式显示通知,而不是以Firebase的方式显示
答案 0 :(得分:2)
不使用通知消息,而是使用数据消息。
在“通知”消息中,当您的应用程序在后台运行时,firebase始终会显示一条通知,并且无法阻止它。
因此,唯一的方法是使用数据消息并自己处理通知。
来自:https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages
通知消息:FCM自动将消息显示到 最终用户设备代表客户端应用。通知讯息 具有一组预定义的用户可见键和可选数据 自定义键值对的有效负载。
数据消息:客户端应用负责处理数据消息。 数据消息仅具有自定义键值对。
在我所有的应用中,由于缺乏控制和自定义功能,我仅将通知消息用于非常简单的促销活动。