我正在尝试使用firebase云消息传递和反应原生应用程序来使用react-native-fcm进行工作。
我主要关注Android
react-native@0.48.0
react-native-fcm@10.0.2
OS: Android - Emulator - 7.0.2
当我的应用程序处于前台时,它的工作正常,我会收到此功能中的数据
FCM.on(FCMEvent.Notification, async (notif) => {
我可以处理所有事情
但是当应用程序处于后台时,会收到通知,但是当我点击横幅时,应用程序进入前台,触发相同的功能,但notif对象不同,并且不包含我的数据
当应用程序被杀时,也会收到通知,但是当我点击横幅时,应用程序会启动,即
FCM.getInitialNotification()
触发,我的notif对象也包含数据,行为与背景相同
我正在使用firebase web界面的node-gcm库测试消息的格式,但没有任何效果。
这是我的消息示例,但我尝试了大量的组合:
let message = new gcm.Message({
priority: 'high',
content_available: true,
timeToLive: 3,
data: {
key1: 'message1',
key2: 'message2'
},
notification: {
title: "Hello, World",
icon: "ic_launcher",
body: "This is a notification that will be displayed if your app is in the background."
},
custom_notification: {
key1: 'message1',
key2: 'message2'
}
});
在这些情况下,我该如何继续发送和接收数据?因为让我发疯了。
如果您需要更多数据,请索取:)
谢谢!
答案 0 :(得分:2)
就我而言,在前台通知事件firebase.notifications()。onNotification
上构建通知时,我缺少通知的数据设置new firebase.notifications.Notification()
.setNotificationId(fcmNotification.data.notificacionId)
.setTitle(fcmNotification.title)
.setBody(fcmNotification.body)
.setData(fcmNotification.data) // <- this little bastard
因此,在data
上点击通知firebase.notifications().onNotificationOpened
时仍未定义,即使firebase.notifications().onNotification
中的json填充了数据字段