Is a custom action push local notification, without paying a blaze plan in Firebase $$$
/*
LINK donde se puede obtener el import
https://pub.dev/packages/flutter_local_notifications
Además cuenta con un ejemplo donde se explica más a detalle como funcioana,
además que se puede usar mas SO
IMPORTANTE
recuerde instalar las dependencias necesarias para el ejemplo, en este caso se usaron estas
flutter_local_notifications: ^15.1.0+1
*/
//Custom action que ejecute notificaciones push locales
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
Future notificacionLocal() async {
// Inicializa el plugin para las notificaciones
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin =
FlutterLocalNotificationsPlugin();
// Inicializa las ajustes para los SO
//Intancia de Android
var initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
/*'@mipmap/ic_launcher' Forma de optener el icono de la
aplicación para poderla ver en la barra de notificaciones de celular*/
//Instancia de IOS
var initializationSettingsIOS = DarwinInitializationSettings(
requestAlertPermission: true,
requestSoundPermission: true //Se piden permisos de Alterta y Sonido
);
//Inicializa los ajustes para ambos SO
var initializationSettings = InitializationSettings(
android: initializationSettingsAndroid, iOS: initializationSettingsIOS);
// Inicializa los ajustes del plugin
await flutterLocalNotificationsPlugin.initialize(initializationSettings);
// Define los detalles de la notificacion, tanto para IOS y Android
var androidPlatformChannelSpecifics = AndroidNotificationDetails(
'channel_id', 'channel_name',
channelDescription: 'your channel description',
importance: Importance.max,
priority: Priority.high);
/*Paras más información sobre importance y priority
https://developer.android.com/develop/ui/views/notifications/channels*/
var iOSPlatformChannelSpecifics = DarwinNotificationDetails(
presentSound: true,
presentAlert: true,
);
//Fragmento de codigo el cual envia las espificaciones de como mostrar la notificación
var platformChannelSpecifics = NotificationDetails(
android: androidPlatformChannelSpecifics,
iOS: iOSPlatformChannelSpecifics);
// Muestra la notificacion
await flutterLocalNotificationsPlugin.show(
0, 'Notification Title', 'Notification Body', platformChannelSpecifics,
payload: 'Custom Notification');
}