如何在Cordova Angular 4应用程序中使用FCM(Firebase Cloud Messaging)

如何在Cordova Angular 4应用程序中使用FCM(Firebase Cloud Messaging),angular,cordova,cordova-plugins,cordova-plugin-fcm,Angular,Cordova,Cordova Plugins,Cordova Plugin Fcm,我正在使用Angular 4和Cordova创建一个混合应用程序,因为我希望使用单一代码库同时面向桌面和移动平台。我遵循了我的项目的以下目录结构: [ 我正在angular 4中开发应用程序,并使用angular CLI进行构建。我使用钩子将angular构建复制到cordova“www”文件夹中,然后创建apk。 问题是我想在我的cordova应用程序中使用FCM(Firebase Cloud Messaging)来接收来自服务器的消息,但我不能,因为我正在Angular 4中开发(参考上面的

我正在使用Angular 4和Cordova创建一个混合应用程序,因为我希望使用单一代码库同时面向桌面和移动平台。我遵循了我的项目的以下目录结构:

[

我正在angular 4中开发应用程序,并使用angular CLI进行构建。我使用钩子将angular构建复制到cordova“www”文件夹中,然后创建apk。 问题是我想在我的cordova应用程序中使用FCM(Firebase Cloud Messaging)来接收来自服务器的消息,但我不能,因为我正在Angular 4中开发(参考上面的目录结构)。有人能帮助我如何将cordova插件与Angular 4结合使用吗。 如果需要,我愿意更改目录结构。

我得到了答案。 1.只需在cordova项目中通过运行 以下命令: cordova插件添加cordova插件fcm 2.现在在angular project中,在“app.component.ts”文件中进行以下更改:


嗨,Gaurav。欢迎访问SO!如果可能的话,最好在我们的网站上包含来自链接另一端的信息,而不是他们的信息,以帮助进行未来验证。您链接到的网站总是有可能被删除,这将使您的问题对其他有问题的人毫无用处。您可以吗考虑修改这个问题吗?@我已经更新了同样的内容。谢谢你的建议。如果你包括图片而不是图片的链接,对于阅读该问题的人来说,需要更少的努力,也没有理由不这样做。@ Ethfield我想把图像放进去。但是,限制我这样做,因为我是一个新的用户。不管怎样,我添加了T。他现在把这张照片作为建议的编辑
ngOnInit() {
 document.addEventListener("deviceready", onDeviceReady, false);
}

onDeviceReady() {
FCMPlugin.getToken((token) => {
        this.pushtoken = token;
        console.log('getToken:', token);
        if (!token) {
            setTimeout(this.getToken, 1000);
        }
    }, (err) => {
        console.log('error retrieving token: ' + err);
    });
}