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

How to use FCM(Firebase Cloud Messaging) in Cordova Angular 4 application

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

[1

我正在 angular 4 中开发应用程序并使用 Angular CLI 进行构建。我有一个钩子,可以将 angular 构建复制到 cordova 'www' 文件夹中,然后创建 apk。 问题是我想在我的 cordova 应用程序中使用 FCM(Firebase 云消息传递)从服务器接收消息,但我不能,因为我正在 Angular 4(参考上面的目录结构)中开发。谁能帮助我如何使用 angular 4 的 cordova 插件。 如果需要,我愿意更改目录结构。

我得到了答案。 1.只需要在cordova项目中添加FCM插件运行 以下命令: cordova 插件 添加 cordova-plugin-fcm 2. 现在在 angular 项目中对 "app.component.ts" 文件进行以下更改:

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);
    });
}