无法使用“ node fcm-notification”显示FCM通知

时间:2018-11-19 17:08:59

标签: android node.js firebase push-notification firebase-cloud-messaging

我正在开发一个视频通话应用程序,当有来电时,用户会通过通知获得通知,并且可以单击通知来启动通话。现在,当应用关闭或在后台运行时,通知会被推送,但是当应用在前台打开时,通知不会推送。

此外,当应用程序在后台运行或未运行时,单击通知只会打开应用程序,而不会发起视频通话。我可以启动呼叫的唯一方法是在应用程序处于后台/未运行状态时收到通知,手动打开该应用程序,然后单击该通知。

这是我处理通知发送的代码:

var fcm = require('fcm-notification');
var serverKey = require('./fcmKey.json');
var FCM = new fcm(serverKey);

const payloadBody = {
     room,
     caller,
     language,
     receiver
}

var message = {
     token : deviceToken,
     data : payloadBody,
     notificaton: {
         title : 'MyApp',
         body: 'Somebody is calling'
}

FCM.send(message, function(err, response) {
    if(err) {
        console.error('Notification error: ${JSON.stringify(err)}');
    } else {
        console.error('Notification success: ${JSON.stringify(response)}');
    }
}

我的清单也包含fcm服务,如下所示:

<service android:name="com.evollu.react.fcm.MessagingService" android:enabled="true" android:exported="true">
  <intent-filter>
      <action android:name="com.google.firebase.MESSAGING_EVENT"/>
  </intent-filter>
</service>

1 个答案:

答案 0 :(得分:0)

关于前景和背景行为的描述恰好是how notification type messages are supposed to work。如果要控制显示给用户的通知的行为,则应从消息中删除通知有效负载,并根据data payload自己构建整个内容。您将receive that message进入创建的FirebaseMessagingService子类。