Push notification Android设备上未调用此.fcm.onNotification().subscribe()

Push notification Android设备上未调用此.fcm.onNotification().subscribe(),push-notification,firebase-cloud-messaging,ionic4,Push Notification,Firebase Cloud Messaging,Ionic4,我有一个与Firebase集成的Ionic 4应用程序,用于身份验证等。我想实现Firebase的云消息传递,这样我就可以在Android和iOS上将消息推送到我的应用程序。我在iOS上很容易做到这一点,我通过邮递员发送了一条信息,显示在我的iPhone上,我看到了我发送的信息的JSON。当我在Android上试用时,它不起作用。两种设备都接收消息,但处理方式非常不同 我在很多地方读到,你需要将click_操作设置为FCM_PLUGIN_活动,但当我这样做时,应用程序甚至无法在Android上打

我有一个与Firebase集成的Ionic 4应用程序,用于身份验证等。我想实现Firebase的云消息传递,这样我就可以在Android和iOS上将消息推送到我的应用程序。我在iOS上很容易做到这一点,我通过邮递员发送了一条信息,显示在我的iPhone上,我看到了我发送的信息的JSON。当我在Android上试用时,它不起作用。两种设备都接收消息,但处理方式非常不同

我在很多地方读到,你需要将click_操作设置为FCM_PLUGIN_活动,但当我这样做时,应用程序甚至无法在Android上打开。当我将其取出时,当您单击消息时,应用程序将加载,但它不会像iOS中的“我的警报”那样显示消息正文

import { FCM } from '@ionic-native/fcm/ngx';

...

  constructor(public platform: Platform, public fcm: FCM)

...

this.platform.ready().then(() => {
    this.fcm.onNotification().subscribe(data => {
        alert(JSON.stringify(data));
    });

    this.fcm.onTokenRefresh().subscribe(token => {
        // Register your new token in your back-end if you want
        // backend.registerToken(token);
    });
}).catch((error) => {
    this.showFailureMessage(error.message);
});
这就是我要发布到的


非常感谢您的帮助。

您似乎缺少
数据。您的订阅中已点击了
部分。在这里,试试这个:

this.fcm.onNotification().subscribe(data => {
            if (data.wasTapped) {
                alert('Received in background');
                alert(JSON.stringify(data));
            } else {
                alert('Received in foreground');
                alert(JSON.stringify(data));
            }
        });
this.fcm.onNotification().subscribe(data => {
            if (data.wasTapped) {
                alert('Received in background');
                alert(JSON.stringify(data));
            } else {
                alert('Received in foreground');
                alert(JSON.stringify(data));
            }
        });