Значок Ionic 3 не отображается на iOS или Android

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

У меня 2 проблемы:

  1. Значок никогда не появляется (проверено на iOs и Android) (но уведомления работают нормально)
  2. Когда я нажимаю на уведомление, меня перенаправляют на домашнюю страницу моего приложения. Но я бы хотел, чтобы меня перенаправили на конкретную страницу моего заявления. По-видимому, это должно быть указано путем изменения параметра "активность" в параметре "click_action", однако мое приложение не выполняет никаких действий.

Спасибо за вашу помощь.

Вот мой код:

  sendNotif(){
  this.postRequest()
  var headers = new Headers();
  headers.append("Accept", 'application/json');
  headers.append('Content-Type', 'application/json');
  headers.append('Authorization', 'key=xxxxx:xxxx')
  let options = new RequestOptions({ headers: headers });
  let postParams  = {
    "notification": {
      "title": "Mon-appli",
      "body": "Nouvelle réservation",
      "sound": "default",
      "click_action": "FCM_PLUGIN_ACTIVITY",
      "icon": "fcm_push_icon"
    },
    "data": {
      "param1": "value1",
      "param2": "value2"
    },
    "to": "/topics/all",
    "priority": "high",
    "restricted_package_name": ""
  }

  this.http.post("https://fcm.googleapis.com/fcm/send", postParams, options)
    .subscribe(data => {
      this.nb_notif = this.nb_notif +1; 
    }, error => {});      
}

2 ответа

А для вопроса № 1: Вам нужно добавить значок:1 в своем уведомлении:{..} описание.

  "notification": {
  "title": "Mon-appli",
  "body": "Nouvelle réservation",
  "sound": "default",
  "click_action": "FCM_PLUGIN_ACTIVITY",
  "icon": "fcm_push_icon",
  "badge":1

}

Я оказался здесь, потому что у меня та же проблема со значком, что и у вас. Но я думаю, что могу ответить на вашу проблему № 2:

Перенаправление не имеет ничего общего с настройкой уведомлений. Вам нужно отписаться от наблюдателя аутентификации. Так что отмените подписку в app.component.ts от слушателя следующим образом:

const authUnsubscribe = afAuth.authState.subscribe( user => { 
if (user) {
       authUnsubscribe.unsubscribe();
       this.rootPage = 'HomePage';
  }
else{
       this.rootPage = 'LoginPage';
   } 
 });
Другие вопросы по тегам