Ionic Cordova项目中的Firebase推送通知问题

时间:2019-02-03 12:11:45

标签: firebase cordova notifications firebase-cloud-messaging push

我正在开发一个Ionic应用程序,我需要推送通知。我正在使用Firebase Cloud Messaging,但使用@ ionic-native / push数据包时遇到一些错误。

这是我在app.component.ts.p中调用的initPushNotification()

initPushNotification() {
    const options: PushOptions = {
      android: {
        senderID: 'MY_SENDER_ID'
      },
      ios: {
          alert: 'true',
          badge: true,
          sound: 'false'
      }
   }

   const pushObject: PushObject = this.push.init(options);


   pushObject.on('notification').subscribe((notification: any) => console.log('Received a notification', notification));

   pushObject.on('registration').subscribe((registration: any) => console.log('Device registered', registration));

   pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error));
}

我当前遇到此错误:

  

core.js:1449错误错误:未捕获(承诺):TypeError:Object(...)不是函数   TypeError:Object(...)不是一个函数      在PushObject.on(index.js:61)      在MyApp.webpackJsonp.493.MyApp.initPushNotification(app.component.ts:105)      在app.component.ts:75      在t.invoke时(polyfills.js:3)      在Object.onInvoke(core.js:4760)      在t.invoke时(polyfills.js:3)      在r.run(polyfills.js:3)      在polyfills.js:3      在t.invokeTask(polyfills.js:3)      在Object.onInvokeTask(core.js:4751)      在c(polyfills.js:3)      在polyfills.js:3      在t.invokeTask(polyfills.js:3)      在Object.onInvokeTask(core.js:4751)      在t.invokeTask(polyfills.js:3)      在r.runTask(polyfills.js:3)      在o(polyfills.js:3)      在e.invokeTask上[调用时](polyfills.js:3)      在p(polyfills.js:2)      在HTMLDocument.v(polyfills.js:2)   defaultErrorLogger @ core.js:1449

我在Chrome,仿真器和实际设备中收到此错误。

pushobject似乎未被识别。

请注意我正在使用:

import { Push, PushObject, PushOptions } from '@ionic-native/push/ngx';

我已经在app.module.ts中将Push作为提供程序导入了。

如果您理解该问题,谢谢。

2 个答案:

答案 0 :(得分:2)

当您安装了不同版本的@ ionic-native软件包时,通常会发生这种情况。

运行npm ls --depth=0并确保本地安装的所有@ ionic-native软件包都对齐

答案 1 :(得分:1)

仅使用以前的push版本修复。