// src/services/notification_service.dart import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; class NotificationService { static final FlutterLocalNotificationsPlugin _notifications = FlutterLocalNotificationsPlugin(); static Future initialize() async { const AndroidInitializationSettings androidSettings = AndroidInitializationSettings('@mipmap/ic_launcher'); const DarwinInitializationSettings iosSettings = DarwinInitializationSettings(); const InitializationSettings settings = InitializationSettings( android: androidSettings, iOS: iosSettings, ); await _notifications.initialize(settings); } static Future showNotification({ required String title, required String body, String? payload, }) async { const AndroidNotificationDetails androidDetails = AndroidNotificationDetails( 'recoleccion_channel', 'Notificaciones de Recolección', channelDescription: 'Notificaciones sobre el estado de la recolección', importance: Importance.high, priority: Priority.high, ); const DarwinNotificationDetails iosDetails = DarwinNotificationDetails(); const NotificationDetails details = NotificationDetails( android: androidDetails, iOS: iosDetails, ); await _notifications.show( DateTime.now().millisecond, title, body, details, payload: payload, ); } }