Триггерное действие response-native-firebase на основе данных уведомления, не открывая его - PullRequest
0 голосов
/ 25 января 2020

У меня есть собственная база реагирования, куда я отправляю уведомление с моего внутреннего сервера node.js. Я хочу инициировать некоторые действия на основе данных уведомлений. и работает только когда приложение открыто. Он работает, как ожидалось, когда приложение работает, но не когда приложение находится в фоновом режиме или убито. Может ли кто-нибудь помочь мне, что я делаю неправильно, или я что-то упускаю?

const App = () => {

  useEffect(() => {


    const messageListener = firebase.messaging().onMessage((message) => {
      console.log("message", message);
    })

    const messageCheck = firebase.notifications().onNotificationDisplayed((notification) => {
      console.log("notitication", notification);
      const { sound } = notification.data;
      console.log("sound", sound);
      playSound(sound);
    })

    const firebaseNotification = firebase.notifications().onNotification((notification) => {

      console.log("notitication", notification);
      const { sound } = notification.data;
      console.log("sound", sound);
      playSound(sound);
    })

    return () => {
      messageListener();
      firebaseNotification();
      messageCheck();
    }
  })


  return (
    <Provider store={store}>
      <SafeAreaView style={{ flex: 1 }}>
        <View style={{ flex: 1, backgroundColor: 'red' }}>
          <Text> Hello World </Text>
        </View>
      </SafeAreaView>
    </Provider>
  )
}

export default App;

Я пытался добавить эту строку в свой индекс. js код приложения-родного приложения

index. js file

AppRegistry.registerHeadlessTask('RNFirebaseBackgroundMessage', () => bgMessaging)

bgMessaging. js file

import firebase from 'react-native-firebase';

export default async (message) => {

  console.log("inside bgMessaging", message);

}
...