showNotification static method
- required BuildContext context,
- required int id,
- required String titleKey,
- required String bodyKey,
Método para mostrar una notificación simple.
Este método crea y muestra una notificación local con un título y un cuerpo. Primero verifica si los permisos de notificación están activos, y si no lo están, solicita al usuario que los conceda. Si no se conceden, se muestra un mensaje de error.
Parámetros:
context
: El contexto de la aplicación para internacionalizar el texto de la notificación.id
: El ID único de la notificación.titleKey
: La clave para obtener el título de la notificación.bodyKey
: La clave para obtener el cuerpo de la notificación.
Si los permisos son concedidos, se muestra la notificación en la pantalla.
Implementation
static Future<void> showNotification({
required BuildContext context,
required int id,
required String titleKey,
required String bodyKey,
}) async {
// INTERNACIONALIZAMOS LA ALERTA
final title = Internationalization.internationalization
.getLocalizations(context, titleKey);
final body = Internationalization.internationalization
.getLocalizations(context, bodyKey);
// PRIMERO COMPROBAMOS PERMISOS
bool hasPermission = await checkNotificationPermissions();
if (!hasPermission) {
hasPermission = await requestNotificationPermissions();
if (!hasPermission) {
// MOSTRAR UN ERROR SI NO TIENE PERMISOS
AlertUtil.showSnackBarError(context, "notification_permissions_denied");
return;
}
}
// DETALLES DE LA NOTIFICACION
const AndroidNotificationDetails androidDetails =
AndroidNotificationDetails(
'your_channel_id',
'your_channel_name',
channelDescription: 'your_channel_description',
importance: Importance.max,
priority: Priority.high,
showWhen: true,
);
const NotificationDetails platformDetails = NotificationDetails(
android: androidDetails,
iOS: DarwinNotificationDetails(),
);
// MOSTRAMOS LA NOTIFICACION
await flutterLocalNotificationsPlugin.show(
id,
title,
body,
platformDetails,
);
}