如何在点击通知后访问通知数据(Firebase 云消息)



我已经为我的react-native app实现了firebase cloud messaging,现在我可以发送和接收通知。 但是现在我想像messages一样获得Notifications Data,点击它后立即

。为什么我需要这个?

因为我有一个简单的聊天应用程序,假设我有三个房间,room1, room2, room3.

现在我的App关闭了,我收到了来自room1Notification,然后我点击了它,此时我希望它打开我的应用程序并导航到room1 chatbox,以及其他房间的通知。

有什么帮助吗?

注意:我使用的是 react-native-firebase v6

云消息传递仅用于从手机上的服务器发送消息。

之前,在Firebase 5上,我们有一个名为"通知"的软件包,它允许我们在您点击数据时管理数据的拦截。

从Firebase 6开始,这个软件包不再存在(好吧,在某种程度上它将变得付费,这项服务被称为Notifee,但它仍在测试中(。

您必须使用外部包,例如 react-native-push-notifications ,它允许您拦截推送通知数据。

async componentDidMount() {
this.createNotificationListeners();
}

async createNotificationListeners() {
this.notificationListener = firebase.notifications().onNotification((notification) => {
console.log(':::::::::::::::::::::::::::: APPLICATION OPEN MODE :::::::::::::::::::::::::::');
console.log(notification, 'APPLICATION OPEN');
// Manage Notifiacation
// firebase.notifications().removeDeliveredNotification(notification._notificationId);
});
const channel = new firebase.notifications.Android.Channel('fcm_FirebaseNotifiction_default_channel', 'JobApp', firebase.notifications.Android.Importance.High)
.setDescription('DEMO NOTIFICATION DESCRIPTION');
firebase.notifications().android.createChannel(channel);
this.notificationOpenedListener = firebase.notifications().onNotificationOpened((notificationOpen) => {
console.log(':::::::::::::::::::::::::::: APPLICATION WORKING IN BACKGROUND MODE  :::::::::::::::::::::::::::');
console.log(notificationOpen.notification.data);
const { notificationType } = notificationOpen.notification.data;
console.log(notificationType)
firebase.notifications().removeDeliveredNotification(notificationOpen.notification._notificationId);
});
const notificationOpen = await firebase.notifications().getInitialNotification();
if (notificationOpen) {
console.log(':::::::::::::::::::::::::::: APPLICATION CLOSED  :::::::::::::::::::::::::::');
console.log(notificationOpen);
}
this.messageListener = firebase.messaging().onMessage((message) => {
console.log(JSON.stringify(message));
});
}

相关内容

  • 没有找到相关文章

最新更新