Flutter - вызов метода Firebase onMessage, когда приложение находится в фоновом режиме - PullRequest
0 голосов
/ 25 сентября 2019

Вопрос такой же, как здесь Вызовите метод onMessage, когда приложение находится в фоновом режиме во флаттере , и я следую за веткой, но поскольку ответа нет, я снова задаю этот вопрос.

Я подключил свое приложение Flutter к Firebase Messaging и получаю уведомление, когда мое приложение находится в Foreground с использованием Плагин локальных уведомлений Flutter .Но я не могу получать никаких уведомлений, когда мое приложение находится в Справочная информация

Ниже приведен мой код:

// FIREBASE CONFIGURATION & HANDLING
_firebaseMessaging.configure(
  onMessage: (Map<String, dynamic> message) async {
    debugPrint("onMessage: $message");
    final notification = message['data']['notification'];

    Map responseBody = convert.jsonDecode(notification);

    _showNotification(
      icon: responseBody['icon'],
      title: responseBody['title'],
      body: responseBody['body'],
    );

    setState(() {});
  },
);


// DISPLAY NOTIFICATION - HEADS UP
Future<void> _showNotification({String icon, String title, String body}) async {
  var androidPlatformChannelSpecifics = AndroidNotificationDetails(
    'your channel id',
    'your channel name',
    'your channel description',
    importance: Importance.Max,
    priority: Priority.High,
    ticker: 'ticker',
  );

  var iOSPlatformChannelSpecifics = IOSNotificationDetails();

  var platformChannelSpecifics = NotificationDetails(
      androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);

  await flutterLocalNotificationsPlugin.show(
    0,
    title,
    body,
    platformChannelSpecifics,
  );
}

Может кто-нибудь подсказать мне, как я могу получать уведомления, когда моиприложение в Фон

1 Ответ

0 голосов
/ 26 сентября 2019

Решено !!

Проблема связана с форматом вызова curl.Согласно инструкции здесь

Изменено это:

{
  "data": {
    "notification": {
        "title": "Notification Title",
        "body": "Notification Body",
    },
        "click_action": "FLUTTER_NOTIFICATION_CLICK"
  },
  "to": "YOUR_DEVICE_TOKEN"
}

На это:

{
  "data": {
    "click_action": "FLUTTER_NOTIFICATION_CLICK",
    "id": "1",
    "status": "done",
  },
  "notification": {
    "body": "Notification Body",
    "title": "Notification Title"
  },
  "priority": "high",
  "to": "YOUR_DEVICE_TOKEN"
}
...