Firebase API push не открывает фоновое приложение на устройстве Android - PullRequest
0 голосов
/ 07 июля 2019

Firebase API push полезная нагрузка из бэкэнда:

 {
  "registration_ids": [
    "IKSiok9Zpip5cDcebQ67wc7TnpDuhMAFJm1xdGGI44s48JbXEu5iYa"
  ],
  "notification": {
    "body": "Push Test Facility Category",
    "title": null,
    "icon": "myicon",
    "sound": "mySound",
    "vibrate": 1,
    "Badge": 1,
    "click_action": "FCM_PLUGIN_ACTIVITY"
  },
  "data": {
    "message": "Push Test Facility Category",
    "title": null,
    "b": "22",
    "id": "2",
    "category_name": "Restaurants",
    "h": "1",
    "p": 1,
    "type": "2"
  }
}

fcm.service.ts

fcmListeners() {
    this.firebase.onNotificationOpen().subscribe(async (data: any) => {

      if (data.tap) {// when user tapped the background notification

      } else { // Received in foreground

      }
    });
  }

Можете ли вы сказать мне, почему приложение не открывается, когда я использовал вышеуказанную полезную нагрузкуа приложение в фоновом режиме?Это поведение на устройстве Android.Но никаких проблем на устройстве iOS.

Если я использую облачное сообщение консоли Firebase (т.е. панель инструментов), то никаких проблем там нет.т.е. он открывает приложение даже в фоновом режиме на устройстве Android.Любая подсказка?

Примечание: Я использую плагин firebase здесь.

1 Ответ

1 голос
/ 09 июля 2019

Проблема в том, что действие FCM_PLUGIN_ACTIVITY не может быть определено в AndroidManifest.xml или если оно определено там, оно может быть реализовано неправильно.

Чтобы исправить это, donНе указывайте click_action в полезной нагрузке уведомления - по умолчанию в уведомлении будет использоваться MainActivity, и приложение откроется.

{
  "registration_ids": [
    ...
  ],
  "notification": {
    ...,
    "click_action": "FCM_PLUGIN_ACTIVITY" // <--- Remove this
  },
  "data": {
    ...
  }
}
...