Android-устройство не получает уведомления, когда приложение закрывается с помощью Flutter и FCM - PullRequest
0 голосов
/ 12 сентября 2018

Я занимаюсь разработкой приложения с использованием Flutter и внедряю push-уведомления с использованием FCM с подключаемым модулем Firebase_messaging Flutter:

https://pub.dartlang.org/packages/firebase_messaging

на Readme.md этого плагина, он говорит, что когда устройство Android получает сообщение с данными, когда приложение было завершено, сообщение будет потеряно, но когда устройство получит сообщение с уведомлением, сообщение будет отображаться на трей приложения, независимо от того, было ли приложение завершено или только в фоновом режиме.

Я реализовал этот плагин, и он не ведет себя так, как описывает Readme.md. Уведомление теряется на моем устройстве Android, когда приложение было прекращено.

Вот пример полезной нагрузки, которую я отправляю на устройство:

var payload = {
  notification: {
    title: `message from somebody`,
    body: `message text here`,
    }
}

Что я, возможно, делаю неправильно? Я что-то упускаю в полезной нагрузке или это что-то еще?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

пакет firebase_messaging не поддерживает получение сообщений данных, когда приложение закрывается в Android и только когда приложение открыто или находится в фоновом режиме.
Это говорит о получении сообщения данных, когда приложение завершено в Android: плагин не поддерживается, сообщение потеряно.
и о уведомлении, уведомление доставляется в системный трей. Когда пользователь нажимает на него, чтобы открыть приложение, запускается onLaunch, если установлено click_action: FLUTTER_NOTIFICATION_CLICK.

взгляните на эту таблицу в полученных сообщениях: https://pub.dartlang.org/packages/firebase_messaging#-readme-tab-

0 голосов
/ 12 сентября 2018

Вы пытались использовать консоль Firebase для отправки сообщения.Возможно, стоит отправить тестовое сообщение с помощью Firebase Console.Таким образом, вы сможете исключить возможность ошибки в вашей полезной нагрузке.

Еще одна вещь, которую необходимо проверить, - это внедрение в приложение onMessage onResume и onLaunch, а также включение в ваше сообщение пары значений ключа данных click_action: FLUTTER_NOTIFICATION_CLICK.

Lastвсе дело в том, чтобы проверить, google-services.json был помещен в нужную папку android/app, а также проверить правильность изменения обоих android/build.gradle, android/app/build.gradle.

Я надеюсь, что смог оказать небольшую помощь.Дайте мне знать, если это работает.

...