我在Flutter项目中使用Firebase云消息传递(FCM(。以下包:
firebase_messaging: ^8.0.0-dev.15
flutter_local_notifications: ^4.0.1+2
我知道当应用程序在后台时,我可以通过以下方式处理点击推送通知:
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
//TODO
});
它工作得很好,但当应用程序处于前台时,如何处理点击推送通知?在文档中也找不到。你能帮我吗?提前谢谢。
您可以在初始化时设置回调函数
await flutterLocalNotificationsPlugin.initialize(
const InitializationSettings(
android: initializationSettingsAndroid,
iOS: initializationSettingsIOS,
),
onSelectNotification: handleClickNotification,
);
handleClickNotification(String? payload) {
//your code
}
当应用程序处于前台时使用此依赖项-https://pub.dev/packages/flutter_local_notifications
编辑
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
//TODO
});
当应用程序处于后台时,您已经在使用此代码。请确保您正在使用onMessageOpenedApp
。为了在前台激发消息,您可以使用onMessage
。示例-
FirebaseMessaging.onMessage.listen((message) {
LocalNotificationService.display(message);
});