Я получаю два типа уведомлений в моем приложении flutter с firebase в качестве бэкэнда, успешно реализованных FLUTTER_NOTIFICATION_CLICK
в облачной функции для обеспечения функциональности при нажатии,
Теперь я хочу, чтобы их было два вид различных уведомлений, и я хочу, чтобы навигация по конкретному экрану c соответствовала значению уведомления. Как мне это сделать?
Ниже приведен код, который я использую data payloads
и flutter code
PAYLOAD 1
const payload = {
notification : {
title: item title,
body: notificaionmessage,
icon:"default"
},
data: {
click_action: 'FLUTTER_NOTIFICATION_CLICK',
notification_id: notification_id,
//senderAvatarURL: messageRecieverSenderAvatar,
category: 'default'
}
};
PAYLOAD 2
const payload = {
notification: {
title: `NOTIFICATION2 `,
body: contentMessage,
badge: '1',
sound: 'default'
},
data: {
click_action: 'FLUTTER_NOTIFICATION_CLICK',
notification2: notificationid2,
//senderAvatarURL: messageRecieverSenderAvatar,
category: 'default'
}
}
КОД ДЛЯ ОБРАБОТКИ УВЕДОМЛЕНИЯ
firebaseMessaging.configure(onMessage: (Map<String, dynamic> message) {
print('onMessage: $message');
Platform.isAndroid ? showNotification(message['notification']) : showNotification(message['aps']['alert']);
Navigator.push(context, MaterialPageRoute(builder: (context)=> SCREEN1()));
return;
}, onResume: (Map<String, dynamic> message) {
print('onResume: $message');
Navigator.push(context, MaterialPageRoute(builder: (context)=> SCREEN1()));
return;
}, onLaunch: (Map<String, dynamic> message) {
print('onLaunch: $message');
Navigator.push(context, MaterialPageRoute(builder: (context)=> SCREEN1()));
return;
});
Как указано выше, навигация настроена, но я хочу, чтобы она была на разные экраны в зависимости от полезной нагрузки, например PAYLOAD 1 to SCREEN1
и PAYLOAD 2 to SCREEN 2
Как мне с этим справиться?