应用程序关闭(滑动)时不会显示 FCM 仅数据通知

问题描述 投票:0回答:1

我可以在前台和后台获取仅包含 FCM 数据的通知,但当应用程序在 Android 中关闭(滑开)时则无法获取(我认为这是最常见的情况)。

我尝试将有效负载中的优先级定义为高,并且我还更改了应用程序的设置,而不是电池优化(以防万一避免接收和处理数据通知的后台代码运行)。没有任何效果。

有没有办法让它在应用程序关闭时工作?否则,我需要发出通知+数据消息,但这会在应用程序关闭并在后台时导致问题:图标的样式会很差(它是白色背景中的启动图标的小版本),消息不会被分组,不会有摘要等等...

我在 Expo 托管应用程序中使用 react-native-firebase + notifee(通过 EAS 提交到 Play 商店)。

在上面链接的

react-native-firebase
文档中,有一个部分:

// Required for background/quit data-only messages on Android
priority: 'high',

但就我而言,当应用程序处于退出状态时(即使定义了高优先级),仅在后台(最小化)时,我不会收到纯数据消息。

android react-native firebase-cloud-messaging
1个回答
0
投票

原因是我将

messaging().setBackgroundMessageHandler(...)
包含在
useEffect()
钩子内。它必须包含在任何 React 组件之外,因为当应用程序关闭时不会有 React 组件(但它似乎在后台/最小化时存在)。

此方法必须在应用程序生命周期的外部调用,例如 与您的

AppRegistry.registerComponent()
方法调用一起 您的应用程序代码的入口点。

https://rnfirebase.io/messaging/usage#background--quit-state-messages

© www.soinside.com 2019 - 2024. All rights reserved.