当我的Ionic应用程序处于前台时,通知会完美无缺。
当我的Ionic应用程序处于后台时,Firebase推送通知会显示系统托盘通知。按横幅打开应用程序并触发通知。我完全没问题。
但是,如果用户决定在不点击横幅的情况下打开应用,则通知不会触发。任何时候点击横幅都会导致通知到达应用程序。
我该如何解决这种情况?无论应用程序是从通知托盘中点击还是正常点击,我该如何触发通知?
编辑:
我发送的firebase data message看起来像这样:
Class
答案 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