Comments (14)
I've had luck with
pressAction: {
launchActivity: "default",
id: "default",
},
from react-native-notifee.
It works!
Thanks @yotam-nots
But press local notification with app in background, dont triger any event in app :(
I need a method like messaging().onNotificationOpenedApp
to receive notification when user press it
from react-native-notifee.
Hey, I can partly answer that as I also had the same problem.
You need to call notifee.onBackgroundEvent(onBackgroundEventNotifee);
to register your handler for these events. The problem I am now seeing however is when I do this it seems to conflict with the call I make to RN Firebase to set the background handler with messaging().setBackgroundMessageHandler(onBackgroundMessageReceived);
If I have both of those in my index.js it stops receiving notifications. I think what would help everybody here is a sample project which shows the expected setup with RN Firebase for example
from react-native-notifee.
Need to check this out, if the pressAction
on the root of a notification didn't have a launchActivity
it should be default
behind the scenes - seems this is a bug
from react-native-notifee.
I have tried to launch the root app component as a 'custom component':
pressAction: { id: 'default', mainComponent: App, },
but this seems to have the same effect as assigning
launchActivity: 'default'
to an action which kills the app before launching it.
mainComponent: App,
is incorrect here, this should be the string name of the component registered via AppRegistry.registerComponent
rather than the component itself: https://notifee.app/react-native/docs/android/interaction#advanced-custom-component
from react-native-notifee.
same problem i am facing :(
from react-native-notifee.
can you please show a sample to use notifee.onBackgroundEvent(onBackgroundEventNotifee);
from react-native-notifee.
That's all there is to it really. Provide the function you want invoked as a param when the notification is opened and do whatever you want in it
from react-native-notifee.
If I were to take a guess, I'd say wix/react-native-navigation
is the problem here. Let me take a look at their docs are see what they're doing with intents/activities.
from react-native-notifee.
+1
from react-native-notifee.
I've had luck with
pressAction: { launchActivity: "default", id: "default", },
Thanks ! It did the trick :)
@Ehesp, it might adding this in the docs.
from react-native-notifee.
The docs clearly say that If the application is in a minimized state it is moved to the foreground with this code:
notifee.displayNotification({
title: 'New notification',
android: {
channelId,
pressAction: {
id: 'default',
},
},
});
But so far I cannot see any way to do this with any type of action handling - I cannot seem to only move the app from the background to the foreground which I think should be changed, because as the docs also say:
The Android guidelines suggest a notification should always open the application when pressed.
I have tried to launch the root app component as a 'custom component':
pressAction: {
id: 'default',
mainComponent: App,
},
but this seems to have the same effect as assigning launchActivity: 'default'
to an action which kills the app before launching it.
from react-native-notifee.
It would be nice if we had a single callback onNotificationOpen
and getInitialNotification
that works on both react-native-firebase
and notifee
or a notifee.onNotificationOpenedApp
, because I have to handle 4 callbacks/logic and they do not work to all use cases for me. I just gave up using onBackgroundEvent and created a custom logic, because it does not allow me to differentiate app killed/quit (background) to app minimized (also background) and it is not called for notification generated by FCM on background.
I am using this logic below to be able to identify the push was opened, based on the fact that after getInitialNotification
of notifee and react-native-firebase are called it does not return duplicated notification. Also I call the function checkAppOpenedByNotification on onNotificationOpen
and onForegroundEvent
:
useEffect(() => {
const onOpenNotification = (localNotification: LocalNotification) => {
Alert.alert(localNotification.action)
}
fcmService.checkAppOpenedByNotification(onOpenNotification)
const handleAppStateChange = (state: AppStateStatus) => {
if (state === 'active') {
fcmService.checkAppOpenedByNotification(onOpenNotification)
}
}
AppState.addEventListener('change', handleAppStateChange)
return () => {
AppState.removeEventListener('change', handleAppStateChange)
fcmService.unRegisterForegroundListeners()
}
}, [])
// fcmService.ts
public checkAppOpenedByNotification = async (OnOpenedNotification: OnOpenedNotification) => {
const notification = await this.getInitialNotification()
if (notification) {
OnOpenedNotification(notification)
}
}
private getInitialNotification = async () => {
const notifeeNotification = await notifee.getInitialNotification()
const remoteNotification = await messaging().getInitialNotification()
return (notifeeNotification && mapNotifeeNotificationToLocalNotification(notifeeNotification))
|| (remoteNotification && mapRemoteNotificationToLocalNotification(remoteNotification))
}
from react-native-notifee.
Closing this due to the issue of a notification press not opening app has been resolved.
from react-native-notifee.
Related Issues (20)
- [iOS] remote notification: no custom data received when app is in background/terimnated HOT 3
- Cannot find getDeliveredNotifications in Notifee v1.10.0 HOT 1
- `cancelDisplayedNotifications` also cancels scheduled notifications on Android HOT 5
- Android custom sound not found with extension (`sound.mp3`) is found with no extension (`sound`) HOT 3
- [iOS] Help troubleshooting with the service extension? HOT 3
- [Android] Question: is it possible to use the system alert UI to show the notification HOT 2
- [Android] How can you set a dynamic custom sound per notification? HOT 2
- [iOS] help with remote notifications HOT 3
- [iOS] Should background events work with the Notifee Service Extension? HOT 5
- Installation alongside react-native-firebase - android_background_activity_names needed? HOT 2
- Update messages in conversation notification HOT 4
- getInitialNotification deprecated? HOT 4
- Get data payload from Android DisplayedNotification HOT 1
- Attempt to invoke virtual method 'android.content.Intent android.app.Activity.getIntent()' on a null object reference HOT 7
- Error: Notifee native module not found. HOT 11
- Website "My account" - cannot change user role HOT 6
- getDisplayedNotifications returning wrong ids HOT 6
- Tag is null HOT 2
- [iOS] Notification sound does not stop on cancelNotification()/cancelDisplayedNotification() HOT 3
- await notifee.displayNotification not firing notification on release build HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-notifee.