如何在后台模式下修复Firebase通知问题

时间:2018-01-17 14:49:32

标签: firebase push-notification firebase-cloud-messaging ionic3

当我的Ionic应用程序处于前台时,通知会完美无缺。

当我的Ionic应用程序处于后台时,Firebase推送通知会显示系统托盘通知。按横幅打开应用程序并触发通知。我完全没问题。

但是,如果用户决定在不点击横幅的情况下打开应用,则通知不会触发。任何时候点击横幅都会导致通知到达应用程序。

我该如何解决这种情况?无论应用程序是从通知托盘中点击还是正常点击,我该如何触发通知?

编辑:

我发送的firebase data message看起来像这样:

Class

1 个答案:

答案 0 :(得分:1)

确保您发送的通知是数据消息类型,而不是显示消息。

  

使用FCM,您可以向客户端发送两种类型的消息:

     

通知消息,有时被视为“显示消息”。   这些由FCM SDK自动处理。

     

数据消息,其中   由客户端应用程序处理。

https://firebase.google.com/docs/cloud-messaging/concept-options

另外

  

在后台,应用会收到通知有效负载   通知托盘,仅在用户点击时处理数据有效负载   在通知上。在前台时,您的应用会收到一个   两个有效负载都可用的消息对象。

并且

  

要接收消息,请使用扩展的服务   FirebaseMessagingService。您的服务应该覆盖   onMessageReceived和onDeletedMessages回调。

https://firebase.google.com/docs/cloud-messaging/android/receive