Firebase会显示自动通知,即使已全部覆盖

时间:2018-08-16 20:07:12

标签: android firebase firebase-cloud-messaging android-notifications

我在我的应用程序中使用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的方式显示

1 个答案:

答案 0 :(得分:2)

不使用通知消息,而是使用数据消息。

在“通知”消息中,当您的应用程序在后台运行时,firebase始终会显示一条通知,并且无法阻止它。

因此,唯一的方法是使用数据消息并自己处理通知。

来自:https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

  

通知消息:FCM自动将消息显示到   最终用户设备代表客户端应用。通知讯息   具有一组预定义的用户可见键和可选数据   自定义键值对的有效负载。

     

数据消息:客户端应用负责处理数据消息。   数据消息仅具有自定义键值对。

在我所有的应用中,由于缺乏控制和自定义功能,我仅将通知消息用于非常简单的促销活动。