TKK_E32230499/lib/service/notification_service.dart

55 lines
1.6 KiB
Dart

import 'package:flutter_local_notifications/flutter_local_notifications.dart';
class NotificationService {
static final FlutterLocalNotificationsPlugin _notifications =
FlutterLocalNotificationsPlugin();
static Future<void> init() async {
const AndroidInitializationSettings androidSettings =
AndroidInitializationSettings('@mipmap/ic_launcher');
const InitializationSettings settings = InitializationSettings(
android: androidSettings,
);
await _notifications.initialize(
settings,
onDidReceiveNotificationResponse: (NotificationResponse response) {
// optional
},
);
// CREATE CHANNEL (WAJIB)
const AndroidNotificationChannel channel = AndroidNotificationChannel(
'channel_id',
'channel_name',
description: 'Notifikasi fermentasi',
importance: Importance.max,
);
final androidPlugin = _notifications
.resolvePlatformSpecificImplementation<
AndroidFlutterLocalNotificationsPlugin
>();
await androidPlugin?.createNotificationChannel(channel);
}
static Future<void> showNotification(String title, String body) async {
const AndroidNotificationDetails androidDetails =
AndroidNotificationDetails(
'channel_id',
'channel_name',
channelDescription: 'Notifikasi fermentasi',
importance: Importance.max,
priority: Priority.high,
);
const NotificationDetails details = NotificationDetails(
android: androidDetails,
);
await _notifications.show(0, title, body, details, payload: 'default');
}
}