Как мне получить доступ к элементам данных полезной нагрузки уведомления во флаттере? - PullRequest
0 голосов
/ 21 июня 2020

Ниже представлена ​​полезная нагрузка уведомления в облачной функции для уведомления FCM в приложении flutter, я не могу понять, как получить доступ к элементам data:{}, когда уведомление получено в приложении flutter

PAYLOAD

const payload = {
                    notification: {
                      title: `NOTIFICATION2 `,
                      body: contentMessage,
                      badge: '1',
                      sound: 'default'
                    },
                    data: {
                             click_action: 'FLUTTER_NOTIFICATION_CLICK',
                             notification2: notificationid2,
                             detail: detail,
                             senderAvatarURL: messageRecieverSenderAvatar,
                             category: 'default'
                           }
                  }

КОД УВЕДОМЛЕНИЯ

firebaseMessaging.configure(onMessage: (Map<String, dynamic> message) {

      print('onMessage: $message');
      Platform.isAndroid ? showNotification(message['notification']) : showNotification(message['aps']['alert']);
   
      return;
    }, onResume: (Map<String, dynamic> message) {
      print('onResume: $message');
      
      return;
    }, onLaunch: (Map<String, dynamic> message) {
      print('onLaunch: $message');
     
      return;
    });

1 Ответ

2 голосов
/ 21 июня 2020

вы можете использовать приведенный ниже код для доступа к данным:

 if (message.containsKey('data')) {
    // Handle data message
    final dynamic data = message['data'];
 }

как только вы получите карту данных, вы можете ее проанализировать.

пакет https://pub.dev/packages/firebase_messaging показывает пример обработки сообщений с данными, отметьте часть с заголовком

Определите функцию TOP-LEVEL или STATI C для обработки фоновых сообщений
...