Отображение уведомлений от Ionic с помощью cordova-plugin-firebase-messaging

Мы разрабатываем приложение с использованием Ionic Framework и хотели бы интегрировать push-уведомления. В настоящее время мы пытаемся использовать плагин Cordova cordova-plugin-firebase-messaging для обработки уведомлений на Android и iOS. Я вижу, что onMessage вызывается, когда я отправляю уведомление, но как мне сделать так, чтобы уведомление отображалось на самом деле? На данный момент я просто пытаюсь записать ответ, используя

this.fcm.onMessage()
   .subscribe(payload => {
      console.info(payload);
    });
0
0
373
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я думаю, у вас есть эта проблема на iOS? Если так, то это не ошибка. Вы не увидите никаких уведомлений на устройствах iOS, если приложение работает на переднем плане.

From Apple: If you receive local or remote notifications while your app is running in the foreground, you’re responsible for passing the information to your users in an app-specific way

На самом деле это на Android. Поигравшись с ним еще, я думаю, что то же самое может быть верно и для Android, по крайней мере, с этим плагином. Тем не менее, спасибо за информацию об iOS, так как в будущем мы будем развертывать и на iOS. Тогда я бы понял, что лучше всего создать какое-то всплывающее окно в приложении для отображения информации из уведомления.

Brady Shober 28.09.2018 20:49
Ответ принят как подходящий

Используя Ionic, вы можете легко создавать всплывающие окна с помощью AlertController

import { AlertController } from 'ionic-angular';

constructor(private alertCtrl: AlertController) {

}

presentAlert() {
  let alert = this.alertCtrl.create({
    title: 'Low battery',
    subTitle: '10% of battery remaining',
    buttons: ['Dismiss']
  });
  alert.present();
}

Или toastController

import { ToastController } from 'ionic-angular';

constructor(private toastCtrl: ToastController) {

}

presentToast() {
  let toast = this.toastCtrl.create({
    message: 'User was added successfully',
    duration: 3000,
    position: 'top'
  });

  toast.onDidDismiss(() => {
    console.info('Dismissed toast');
  });

  toast.present();
}

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