我正在开发一个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作为提供程序导入了。
如果您理解该问题,谢谢。
答案 0 :(得分:2)
当您安装了不同版本的@ ionic-native软件包时,通常会发生这种情况。
运行npm ls --depth=0
并确保本地安装的所有@ ionic-native软件包都对齐
答案 1 :(得分:1)
仅使用以前的push版本修复。