我正在开发一个Ionic应用程序,我需要推送通知。我正在使用Firebase Cloud Messaging,但使用@ ionic-native / push数据包时遇到一些错误。
这是我在app.component.ts中调用的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作为提供程序导入。
谢谢大家,如果您理解此问题。
通常会在安装了不同版本的@ ionic-native软件包时发生。
运行npm ls --depth=0
并确保本地安装的所有@ ionic-native软件包均已对齐
仅使用先前版本的推送已修复。