Voici mon code, comment puis-je naviguer l'utilisateur à l'écran souhaité lorsque vous cliquez sur une notification ou un bouton dans une notification.Comment naviguer l'écran sur la notification ouverte dans React Native avec un signal?
componentWillMount() {
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
OneSignal.addEventListener('registered', this.onRegistered);
OneSignal.addEventListener('ids', this.onIds);
OneSignal.inFocusDisplaying(2);
OneSignal.requestPermissions({
alert: true,
badge: true,
sound: true
});
}
componentWillUnmount() {
this.isUnmounted = true;
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened);
OneSignal.removeEventListener('registered', this.onRegistered);
OneSignal.removeEventListener('ids', this.onIds);
}
onReceived(notification) {
console.log("Notification received: ", notification);
}
onOpened(openResult) { // HERE I WANT TO NAVIGATE TO ANOTHER SCREEN INSTEAD OF HOME SCREEN
this.isNotification = true;
let data = openResult.notification.payload.additionalData;
let inFocus = openResult.notification.isAppInFocus;
console.log('Message: ', openResult.notification.payload.body);
console.log('Data: ', openResult.notification.payload.additionalData);
console.log('isActive: ', openResult.notification.isAppInFocus);
console.log('openResult: ', openResult);
}
onRegistered(notifData) {
console.log("Device had been registered for push notifications!", notifData);
}
onIds(device) {
try {
AsyncStorage.setItem("@SC:deviceInfo", JSON.stringify(device));
} catch (error) {
console.log(error);
}
}
Quelqu'un at-il des connaissances à ce sujet, Réagissez Native + OneSignal + React Navigation + Redux. S'il vous plaît aider!
J'ai fait une demande en utilisant le réactif natif et un signal. Je peux recevoir les notifications de onesignal, mais si l'application ne fonctionne pas et que la notification push est reçue, cliquer sur la notification push ne permet pas de naviguer vers l'écran souhaité. S'il vous plaît me suggérer une solution pour ce problème. Comment cela peut-il être résolu? J'utilise le route-flux pour le routage dans mon application. Ce n'est pas un problème lorsque l'application est en cours d'exécution et qu'une notification est reçue. –
@CrazyDeveloper La fonctionnalité de liaison profonde n'est pas encore implémentée dans le flux de réaction-native-routeur. Pour pouvoir utiliser la technique abow, vous devez implémenter [API de liaison reac-native] (https://facebook.github.io/react-native/docs/linking.html) – bennygenel
Merci pour votre réponse. Donc, l'application ne fonctionne pas en arrière-plan et lorsque je clique sur la notification, l'application est ouverte. Comment l'application a-t-elle appris qu'elle était ouverte en cliquant sur la notification push? Merci. –