Quantcast
Channel: Active questions tagged react-native+android - Stack Overflow
Viewing all articles
Browse latest Browse all 30019

messaging().onNotificationOpenedApp is never triggered, messaging().getInitialNotification() is triggered but remoteMessage is always null

$
0
0

I'm using react-native-firebase v6.4.0. I successfully registered a background handler with setBackgroundMessageHandler and everything works fine. Now I'm trying to handle notification tap when the app is in background/quit and I'm using onNotificationOpenedApp/getInitialNotification. The problem I'm facing is that the first method is never triggered while the second is triggered but remoteMessage parameter is always null. I've also tried to generate a release build but the result is the same.

index.js

// importsmessaging().setBackgroundMessageHandler(async remoteMessage => {  // storing the message with redux});function HeadlessCheck({isHeadless}) {  return isHeadless ? null : <App />;}AppRegistry.registerComponent(appName, () => HeadlessCheck);

App.js

// other importsimport messaging from '@react-native-firebase/messaging';import {store, persistor} from './Store';export default function App() {  useEffect(() => {    (async () => await messaging().registerDeviceForRemoteMessages())();    const unsubscribe = messaging().onMessage(async remoteMessage => {      store.dispatch(storeNews(remoteMessage));    });    messaging().onNotificationOpenedApp(remoteMessage => {      // The below code gets never executed      Alert.alert('here');      console.log('Notification caused app to open from background state:',        remoteMessage,      );    });    messaging()      .getInitialNotification()      .then(remoteMessage => {        console.log(remoteMessage); // always prints null        if (remoteMessage) {          // Never reached          Alert.alert('here');          console.log('Notification caused app to open from quit state:',            remoteMessage,          );        }      });    return unsubscribe;  }, []);  return (<><StatusBar barStyle="dark-content" /><Provider store={store}><PersistGate loading={null} persistor={persistor}><RootNavigator /></PersistGate></Provider></>  );}

react-native info:

System:    OS: Windows 10 10.0.18363    CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz    Memory: 6.90 GB / 15.73 GB  Binaries:    Node: 10.15.3 - C:\Program Files\nodejs\node.EXE    Yarn: 1.9.4 - C:\Users\user\AppData\Roaming\npm\yarn.CMD    npm: 6.14.1 - C:\Program Files\nodejs\npm.CMD  SDKs:    Android SDK:    API Levels: 21, 22, 23, 24, 25, 26, 27, 28    Build Tools: 23.0.1, 25.0.0, 26.0.1, 26.0.2, 26.0.3, 27.0.3, 28.0.2, 28.0.3    System Images: Google APIs Intel x86 Atom, android-27Intel x86 Atom  IDEs:    Android Studio: Version  3.5.0.0 AI-191.8026.42.35.6010548  npmPackages:    react: 16.9.0 => 16.9.0    react-native: 0.61.5 => 0.61.5

package.json:

{  ..."@react-native-firebase/app": "^6.4.0","@react-native-firebase/messaging": "^6.4.0",  ...}

I tried to run the code on both a physical Android device and on an Android emulator and I got the same behaviour.

Physical device specs:

Model code: SM-G975F Android version: 10

Emulator specs:

Name: Nexus_5X_API_27_x86Device: Nexus 5X (Google)Path: C:\Users\user\.android\avd\Nexus_5X_API_27_x86.avdBased on: Android API 27 Tag/ABI: google_apis/x86

I appreciate any help. Many thanks in advance.


Viewing all articles
Browse latest Browse all 30019

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>