首页 > 解决方案 > 在 React Native 应用程序中接收数据通知时未触发“RNFirebaseBackgroundMessage”事件

问题描述

我正在使用 react-native-firebase@5.2.3。我创建了一个无头任务来接收数据通知,并且我的服务器正在向我发送数据通知,但它没有反映在我的应用程序中,尽管我为此创建了事件。它在 android < v7 中运行良好。但不适用于 android 版本 > v7。

我在控制台中没有收到任何内容,而服务器已向我发送了仅数据通知。一旦执行无头任务的回调,我将在此处编码以显示通知,但没有事件触发。

环境 :

    OS: Ubuntu
        "react": "16.6.3",
        "react-native": "^0.58.6",
        "react-native-firebase": "^5.2.3",

我的代码如下。

import {AppRegistry} from 'react-native';
import 'babel-polyfill';
import App from './App';
import {name as appName} from './app.json';
console.disableYellowBox = true;

const bgMessaging = async(messages) => {
    console.log("BgMessaging",messages);
    return Promise.resolve();
};

AppRegistry.registerHeadlessTask('RNFirebaseBackgroundMessage', () => bgMessaging);
AppRegistry.registerComponent(appName, () => App);

标签: androidfirebasereact-nativefirebase-cloud-messagingreact-native-firebase

解决方案


我得到了解决方案。 当您的应用程序设置为以优化方式使用电池时,它不允许执行无头任务,因此,只需将应用程序的电池设置更改为正常模式,它就可以正常工作了。我的 android 设备设置为在电池优化中使用所有应用程序。这就是我遇到这个问题的原因。


推荐阅读