Push notification not showing in Android foreground

前端 未结 3 944
一生所求
一生所求 2021-01-05 11:36

I\'ve used react-native-fcm for remote notification in android and iPhone.

react-native-fcm

In Android foreground I\'m not be able to getting re

3条回答
  •  太阳男子
    2021-01-05 12:05

    According to the official Github of react-native-fcm, this library is depreciated. You can use the react-native-firebase for generating notification. I was able to get the notifications working in about 2 hours for android. If you want the code I can share it. good luck.

    Update - Sorry I couldn't answer earlier because of my office account.

    This is my code for showing android foreground notifications.

    firebase.messaging()
            .subscribeToTopic(this.state.user.user_name)
            .then(response => console.log('response from FCM TOPIC' + response))
            .catch(error =>  console.log('error from FCM TOPIC'+ error));
    
            this.notificationListener = firebase.notifications().onNotification(notification => {
                let notificationMessage = notification._android._notification._data.action;
                let recordId = notification._android._notification._data.recordID;
    
                let { title, body } = notification;
                //  console.log('ttttt', notification)
                // notification.android.setAutoCancel(false)
                console.log(title, body, notificationMessage, recordId);
    
    
                const channelId = new firebase.notifications.Android.Channel(
                    'Default',
                    'Default',
                    firebase.notifications.Android.Importance.High
                );
                firebase.notifications().android.createChannel(channelId);
    
                let notification_to_be_displayed = new firebase.notifications.Notification({
                    data: notification._android._notification._data,
                    sound: 'default',
                    show_in_foreground: true,
                    title: notification.title,
                    body: notification.body,
                });
    
                if (Platform.OS == 'android') {
                    notification_to_be_displayed.android
                        .setPriority(firebase.notifications.Android.Priority.High)
                        .android.setChannelId('Default')
                        .android.setVibrate(1000);
                }
                console.log('FOREGROUND NOTIFICATION LISTENER: \n', notification_to_be_displayed);
    
                firebase.notifications().displayNotification(notification_to_be_displayed);
            });
    
    

提交回复
热议问题