Я разрабатываю приложение Ionic, и мне нужны push-уведомления. Я использую Firebase Cloud Messaging, но сталкиваюсь с некоторыми ошибками с пакетом @ionic-native/push.
Это мой initPushNotification(), вызываемый в моем app.component.ts
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.info('Received a notification', notification));
pushObject.on('registration').subscribe((registration: any) => console.info('Device registered', registration));
pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error));
}
В настоящее время я сталкиваюсь с этой ошибкой:
core.js:1449 ERROR Error: Uncaught (in promise): TypeError: Object(...) is not a function TypeError: Object(...) is not a function at PushObject.on (index.js:61) at MyApp.webpackJsonp.493.MyApp.initPushNotification (app.component.ts:105) at app.component.ts:75 at t.invoke (polyfills.js:3) at Object.onInvoke (core.js:4760) at t.invoke (polyfills.js:3) at r.run (polyfills.js:3) at polyfills.js:3 at t.invokeTask (polyfills.js:3) at Object.onInvokeTask (core.js:4751) at c (polyfills.js:3) at polyfills.js:3 at t.invokeTask (polyfills.js:3) at Object.onInvokeTask (core.js:4751) at t.invokeTask (polyfills.js:3) at r.runTask (polyfills.js:3) at o (polyfills.js:3) at e.invokeTask [as invoke] (polyfills.js:3) at p (polyfills.js:2) at HTMLDocument.v (polyfills.js:2) defaultErrorLogger @ core.js:1449
Я получаю эту ошибку в Chrome, в эмуляторе и на реальном устройстве.
Кажется, что pushobject не распознается.
Обратите внимание, что я использую:
import { Push, PushObject, PushOptions } from '@ionic-native/push/ngx';
И что я импортировал Push as Provider в app.module.ts.
Спасибо, ребята, если вы понимаете проблему.

Обычно это происходит, когда у вас установлены разные версии пакетов @ionic-native.
Запустите npm ls --depth=0 и убедитесь, что все ваши пакеты @ionic-native, установленные локально, хорошо выровнены.
Исправлено только с использованием предыдущей версии push.