Firebase:是否可以为FCM执行自定义通知

Dre*_*vin 2 android firebase

我正在尝试对firebase通知的FCM进行一些自定义.有可能吗?

Boz*_*jsa 10

请在Firebase通知和Firebase云消息传递之间进行区分. https://firebase.google.com/support/faq/#notifications-difference

通过通知,您可以获得小的机动空间.要点是:

  1. 如果您的应用程序位于前台,则不会将消息传递到通知托盘,而是传递给您的服务FireBaseMessagingService,以便您可以使用有效负载/通知执行任何操作.
  2. 如果您的应用程序位于后台,您的通知将被发送到通知托盘(具有默认外观),并且不会调用FireBaseMessagingService.您通过该推送消息发送的所有有效负载将通过单击通知传递给打开的目标用户.
  3. 因此,如果是第2点,您无法根据需要自定义通知.


Yas*_*ain 1

是的,有可能只需在扩展 FireBaseMessagingService 的服务中覆盖 onMessageReceived 您在此函数中获取数据然后使用此数据自定义您的通知

  • 来自文档:如果您想在应用程序位于前台时接收通知,则需要添加一些消息处理逻辑。要接收消息,请使用扩展 FirebaseMessagingService 的服务。当您的应用程序在后台运行时,Android 会将通知消息定向到系统托盘。这包括包含通知和数据负载的消息。在这些情况下,通知将传递到设备的系统托盘,并且数据负载将在启动器活动的意图的附加内容中传递。 (3认同)
  • 再次来自文档:接收包含通知和数据负载的消息时应用程序的行为取决于应用程序是在后台还是前台 - 本质上,它在接收时是否处于活动状态。在后台时,应用程序会接收通知托盘中的通知负载,并且仅在用户点击通知时处理数据负载。当在前台时,您的应用程序会收到一个包含两个可用负载的消息对象。因此,FireBaseMessagingService 仅当应用程序位于前台时才有用。 (3认同)
  • 如果您的应用程序在后台运行,则不会触发 FireBaseMessagingService。 (2认同)
  • 不,这就是服务的目的。对于背景数据 (2认同)