48 lines
1.8 KiB
Dart
48 lines
1.8 KiB
Dart
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
|
import 'package:prosappco/src/services/firebase_messaging.dart';
|
|
|
|
final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
|
|
FlutterLocalNotificationsPlugin();
|
|
|
|
Future<void> initNotifications() async {
|
|
const AndroidInitializationSettings initializationSettingsAndroid =
|
|
AndroidInitializationSettings('@mipmap/ic_launcher');
|
|
|
|
const DarwinInitializationSettings initializationSettingsIOS =
|
|
DarwinInitializationSettings(
|
|
requestAlertPermission: true,
|
|
requestBadgePermission: true,
|
|
requestSoundPermission: true,
|
|
);
|
|
const InitializationSettings initializationSettings = InitializationSettings(
|
|
android: initializationSettingsAndroid,
|
|
iOS: initializationSettingsIOS,
|
|
);
|
|
|
|
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
|
|
|
|
// Inicializar Firebase Messaging
|
|
FirebaseMessagingService firebaseMessagingService =
|
|
FirebaseMessagingService();
|
|
await firebaseMessagingService.initializeFirebaseMessaging();
|
|
}
|
|
|
|
Future<void> showNotification(String title, String body) async {
|
|
const AndroidNotificationDetails androidNotificationDetails =
|
|
AndroidNotificationDetails('solicitud_servicio', 'Solicitud de Servicio',
|
|
importance: Importance.max, priority: Priority.high);
|
|
|
|
// IOSNotificationDetails --> DarwinNotificationDetails
|
|
const DarwinNotificationDetails iOSNotificationDetails =
|
|
DarwinNotificationDetails(
|
|
presentAlert: true,
|
|
presentBadge: true,
|
|
presentSound: true,
|
|
);
|
|
const NotificationDetails notificationDetails = NotificationDetails(
|
|
android: androidNotificationDetails, iOS: iOSNotificationDetails);
|
|
|
|
await flutterLocalNotificationsPlugin.show(
|
|
1, title, body, notificationDetails);
|
|
}
|