initializeNotifications function
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;
}
}