import 'package:flutter_local_notifications/flutter_local_notifications.dart'; class NotificationService { static final FlutterLocalNotificationsPlugin _plugin = FlutterLocalNotificationsPlugin(); static const AndroidNotificationChannel _channel = AndroidNotificationChannel( 'air_quality_channel', 'Kualitas Udara', description: 'Notifikasi sistem monitoring kualitas udara & AC otomatis', importance: Importance.high, playSound: true, ); static Future initialize() async { const androidInit = AndroidInitializationSettings('@mipmap/ic_launcher'); const initSettings = InitializationSettings(android: androidInit); await _plugin.initialize(initSettings); final androidPlugin = _plugin.resolvePlatformSpecificImplementation< AndroidFlutterLocalNotificationsPlugin>(); await androidPlugin?.createNotificationChannel(_channel); await androidPlugin?.requestNotificationsPermission(); } static Future showNotification({ required String title, required String body, int id = 0, }) async { final androidDetails = AndroidNotificationDetails( _channel.id, _channel.name, channelDescription: _channel.description, importance: Importance.high, priority: Priority.high, icon: '@mipmap/ic_launcher', ); final notifDetails = NotificationDetails(android: androidDetails); await _plugin.show(id, title, body, notifDetails); } }