Проблема с push-уведомлениями Firebase в проекте Ionic Cordova

Я разрабатываю приложение 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.

Спасибо, ребята, если вы понимаете проблему.

Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
2
0
432
2

Ответы 2

Обычно это происходит, когда у вас установлены разные версии пакетов @ionic-native.

Запустите npm ls --depth=0 и убедитесь, что все ваши пакеты @ionic-native, установленные локально, хорошо выровнены.

Исправлено только с использованием предыдущей версии push.

Другие вопросы по теме