7

我正在尝试使用 firebase 云消息传递和 react-native 应用程序来制作 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) => {

我可以处理一切

图片

但是当应用程序在后台时,会收到通知,但是当我点击横幅时,应用程序会进入前台,触发相同的功能,但通知对象不同,并且不包含我的数据。

图片

当应用程序被杀死时,也会收到通知,但是当我点击横幅时,应用程序启动, FCM.getInitialNotification() 被触发,并且我的通知对象也不包含数据,与后台相同的行为

图片

我正在使用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'
    }

});

在这些情况下,我应该如何继续发送和接收数据?因为快把我逼疯了。

如果您需要更多数据,请索取 :)

谢谢!!

4

1 回答 1

3

就我而言,在前台通知事件 firebase.notifications().onNotification 构建通知时,我错过了通知的数据设置

new firebase.notifications.Notification()
      .setNotificationId(fcmNotification.data.notificacionId)
      .setTitle(fcmNotification.title)
      .setBody(fcmNotification.body)
      .setData(fcmNotification.data) // <- this little bastard

因此,即使输入的 json填充了数据字段,当点击通知data时也未定义firebase.notifications().onNotificationOpenedfirebase.notifications().onNotification

于 2018-07-10T21:29:35.920 回答