Closed as not planned
Description
Issue
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
respectively. 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
import React from 'react';
import {AppRegistry} from 'react-native';
import {name as appName} from './app.json';
import messaging from '@react-native-firebase/messaging';
import App from './src/App';
messaging().setBackgroundMessageHandler(async remoteMessage => {
// storing the message with redux
});
function HeadlessCheck({isHeadless}) {
return isHeadless ? null : <App />;
}
AppRegistry.registerComponent(appName, () => HeadlessCheck);
App.js
// other imports
import 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>
</>
);
}
Project Files
Javascript
Click To Expand
package.json
:
{
...
"@react-native-firebase/app": "^6.4.0",
"@react-native-firebase/messaging": "^6.4.0",
...
}
react-native info:
#### `firebase.json` for react-native-firebase v6:
```json
# N/A
iOS
Click To Expand
ios/Podfile
:
- I'm not using Pods
- I'm using Pods and my Podfile looks like:
# N/A
AppDelegate.m
:
// N/A
Android
Click To Expand
Have you converted to AndroidX?
- my application is an AndroidX application?
- I am using
android/gradle.settings
jetifier=true
for Android compatibility? - I am using the NPM package
jetifier
for react-native compatibility?
android/build.gradle
:
// N/A
android/app/build.gradle
:
// N/A
android/settings.gradle
:
// N/A
MainApplication.java
:
// N/A
AndroidManifest.xml
:
<!-- N/A -->
Environment
Click To Expand
react-native info
output:
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-27
Intel 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
- Platform that you're experiencing the issue on:
- iOS
- Android
- iOS but have not tested behavior on Android
- Android but have not tested behavior on iOS
- Both
react-native-firebase
version you're using that has this issue:6.4.0
Firebase
module(s) you're using that has the issue:react-native-firebase/messaging
- Are you using
TypeScript
?N
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_x86
Device: Nexus 5X (Google)
Path: C:\Users\user\.android\avd\Nexus_5X_API_27_x86.avd
Based on: Android API 27 Tag/ABI: google_apis/x86
I appreciate any help. Many thanks in advance.
- π Check out
React Native Firebase
andInvertase
on Twitter for updates on the library.