diff --git a/lib/main.dart b/lib/main.dart index a544f8f..baeea3e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -40,7 +40,7 @@ void main() async { options: DefaultFirebaseOptions.currentPlatform, ).then((value) => Get.put(AuthenticationRepository())); - FirebaseMessaging.onBackgroundMessage((_firebaseMessagingBackgroundHandler)); + FirebaseMessaging.onBackgroundMessage((message) => _firebaseMessagingBackgroundHandler(message, context)); // Pasa el contexto aquĆ­ FirebaseMessaging messaging = FirebaseMessaging.instance; @@ -76,7 +76,25 @@ void main() async { usePathUrlStrategy(); runApp(const MyApp()); } +Future _firebaseMessagingBackgroundHandler(RemoteMessage message, BuildContext context) async { + final Map data = message.data; + if (data['click_action'] == 'FLUTTER_NOTIFICATION_CLICK') { + final String screen = data['screen']; + + if (screen == 'solicitud') { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => SolicitudScreen()), + ); + } else if (screen == 'misservicios') { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => MyServicesScreen()), + ); + } + } +} class MyApp extends StatelessWidget { const MyApp({super.key});