initializeNotifications function

Future<bool> initializeNotifications()

Inicializa completamente el sistema de notificaciones Esta función debe llamarse una vez al inicio de la aplicación Maneja permisos, canales y configuración inicial

Implementation

Future<bool> initializeNotifications() async {
  try {
    // Garantizar que Flutter esté inicializado
    WidgetsFlutterBinding.ensureInitialized();

    print('🔔 Inicializando sistema de notificaciones...');

    // 1. Solicitar permisos de notificación
    final hasPermissions = await requestNotificationPermissions();
    if (!hasPermissions) {
      print('⚠️ No se pudieron obtener permisos de notificación');
      return false;
    }

    // 2. Inicializar el plugin de notificaciones
    final FlutterLocalNotificationsPlugin notifications =
        FlutterLocalNotificationsPlugin();
    await _initializePlugin(notifications);

    // 3. Crear canal de notificaciones
    await _createNotificationChannel(
      notifications: notifications,
      channelId: '1',
      appTitle: 'Notifications',
      importance: Importance.low,
    );

    print('✅ Sistema de notificaciones inicializado correctamente');
    return true;
  } catch (e) {
    print('❌ Error inicializando sistema de notificaciones: $e');
    return false;
  }
}