Ionic 3 Local уведомление и FCM не работают вместе на IOS - PullRequest
1 голос
/ 28 мая 2019

У меня есть push-уведомление FCM и локальный код уведомления, работающие вместе.но иногда, когда я генерирую локальное уведомление и приложение находится на переднем плане, подписчик уведомления не вызывается.

Ионная информация: Ионная:

ionic (Ionic CLI)  : 4.10.2 (/usr/local/lib/node_modules/ionic)
Ionic Framework    : ionic-angular 3.9.2
@ionic/app-scripts : 3.2.1

Кордова:

cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1)
Cordova Platforms     : android 7.1.4, ios 4.5.5
Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.0.1, (and 24 other plugins)

Система:

 ios-sim : 7.0.0
 NodeJS  : v10.15.1 (/usr/local/bin/node)
 npm     : 6.9.0
 OS      : macOS Mojave
 Xcode   : Xcode 10.0 Build version 10A255

Плагины Cordova:

cordova-plugin-local-notification 0.9.0-beta.3 "LocalNotification"
cordova-plugin-fcm-with-dependency-updated-apns 1.0.0 "Cordova FCM Push Plugin"
cordova-plugin-ionic-webview 4.0.1 "cordova-plugin-ionic-webview"

Ионный код:

this.fcm.onNotification().subscribe(data => {
     let object = data
     if (object.wasTapped) {
         console.log("Received in background");
         // console.log(JSON.stringify(object));
         console.log('Do whatever you want');
     }
     else {
         console.log("Received in foreground");
         // console.log(JSON.stringify(object));
         let notification: LocalNotificationState = {
             id: (Math.floor(Math.random()*90000) + 10000),
             text: object.body || object.aps.alert.body,
             title: object.title || object.aps.alert.title,
             vibrate: true,
             lockscreen: true,
             foreground: true,
             progressBar: false
         }

         this.localNotificationProvider.schedule(notification)
         if (object) {
              this.localnotification.setDefaults(object)
         }
         this.localnotification.on('click').subscribe((obj) => {
              console.log('Do whatever you want');
         })  
    }
})

Ожидаемый результат: Если уведомлениегенерируется на переднем плане, после чего подписчик уведомления должен быть вызван

Фактический результат: Иногда локальный подписчик уведомления не вызывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...