当应用程序处于后台时,单击通知时不会调用fcm.onNotification()

时间:2017-08-30 09:36:32

标签: cordova push-notification ionic2 cordova-plugin-fcm

我已经安装了cordova-plugin-fcm,除了一件小事以外,一切正常。当应用程序处于后台/关闭状态并且从firebase发送推送通知时,会在设备中弹出通知。从托盘中单击该通知时,我的应用程序开始运行,但控件未进入fcm.onNotification()。

我在app.component.ts中的代码看起来像这样

   fcm.onNotification().subscribe(data=>{
     if(data.wasTapped){
       console.log("Received in background");
       console.log(data);
     } else {
      console.log("Received in foreground");
      console.log(data);
     };
   });

1 个答案:

答案 0 :(得分:9)

通知应该"click_action":"FCM_PLUGIN_ACTIVITY"用于触发onNotification(),因此如果您从firebase控制台发送通知,使用http reqquest发送通知,请按Firebase Cloud Messaging HTTP Protocol documentation表单更多内容洞察力,我建议Postman这样做,它也是一个chrome插件。

您的代码应如下所示:

{
  "notification":{
    "title":"Notification title",
    "body":"Notification body",
    "sound":"default",
    "click_action":"FCM_PLUGIN_ACTIVITY", //this is needed so the onNotification() fires when notification is tapped
    "icon":"fcm_push_icon"
  },
  "data":{
    "param1":"value1",
    "param2":"value2"
  },
  "to":"/topics/topicExample"(or device token),
  "priority":"high"
}

的引用:

这两个链接包含您需要的一切

祝你好运。