Display fcm notification message in JSON format when an application is killed or in the background in native-fcm response mode

I am using the recact-native-fcm library for an Android device. I get the notification correctly when my application is running, but when my application is in the background or killed, I receive the notification data in JSON format similarly in the image that I posted here.

enter image description here

componentDidMount() { // iOS: show permission prompt for the first call. later just check permission in user settings // Android: check permission in user settings FCM.requestPermissions().then(()=>console.log('granted')).catch(()=>console.log('notification permission rejected')); /*FCM.getFCMToken().then(token => { console.log('Token',token) // store fcm token in your server });*/ this.notificationListener = FCM.on(FCMEvent.Notification, async(notif) => { console.log('FCM notification', notif) this.sendRemote(notif) }); // initial notification contains the notification that launchs the app. If user launchs app by clicking banner, the banner notification info will be here rather than through FCM.on event // sometimes Android kills activity when app goes to background, and when resume it broadcasts notification before JS is run. You can use FCM.getInitialNotification() to capture those missed events. // initial notification will be triggered all the time even when open app by icon so send some action identifier when you send notification /*FCM.getInitialNotification().then(notif => { console.log('FCM', notif) this.sendRemote(notif) //console.log('Initial Notification',notif) });*/ FCM.getInitialNotification().then((notif: any) => { // for android/ios app killed state console.log("ifAny",notif) if (notif) { console.log("Any",notif) // there are two parts of notif. notif.notification contains the notification payload, notif.data contains data payload } }); } sendRemote(notif) { var data = notif.fcm.body; var title = notif.fcm.title; FCM.presentLocalNotification({ title: 'App Name', body: title, big_text: title, large_icon: 'ic_launcher', priority: 'high', sound: "default", click_action: this.clickActions(notif), show_in_foreground: true, wake_screen: true, local: true, param: notif.notify_about, paramData: data }); } 

notify_about: '', TSM: {action: zero, Body: "{data: '', time: ''}", color: zero, icon: '', tag: zero, title: "Name of notification"}

This is my data format, which I send from the server.

Here I want to show only the data body. But when the application is killed or in the background, it displays the full body in the notification. And its work works fine when the application is running.

+5
source share

Source: https://habr.com/ru/post/1275619/


All Articles