update notificacion web

This commit is contained in:
lizandrogd
2023-06-19 01:24:14 -05:00
parent 4c9770247d
commit 05fa9438a1
5 changed files with 99 additions and 23 deletions
+41
View File
@@ -0,0 +1,41 @@
import 'package:firebase_messaging/firebase_messaging.dart';
class FirebaseMessagingService {
FirebaseMessaging _firebaseMessaging = FirebaseMessaging.instance;
Future<void> initializeFirebaseMessaging() async {
// Solicitar permisos de notificación si es necesario (opcional)
NotificationSettings settings = await _firebaseMessaging.requestPermission(
alert: true,
badge: true,
sound: true,
);
// Verificar si los permisos de notificación están habilitados
if (settings.authorizationStatus == AuthorizationStatus.authorized ||
settings.authorizationStatus == AuthorizationStatus.provisional) {
// Obtener el token de registro para la instancia de la aplicación
String? token = await _firebaseMessaging.getToken();
print('Token FCM: $token');
// Escuchar los mensajes entrantes en la aplicación
FirebaseMessaging.onMessage.listen((RemoteMessage message) {
print('Mensaje FCM recibido: ${message.notification?.title} - ${message.notification?.body}');
// Aquí puedes mostrar la notificación o procesar los datos recibidos según tus necesidades
});
// Manejar la notificación cuando se toca y la aplicación está en primer plano (opcional)
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) {
print('Mensaje FCM abierto desde la aplicación en primer plano: ${message.notification?.title} - ${message.notification?.body}');
// Aquí puedes redirigir al usuario a una pantalla específica o realizar acciones según los datos recibidos
});
// Manejar la notificación cuando se toca y la aplicación está cerrada (opcional)
RemoteMessage? initialMessage = await FirebaseMessaging.instance.getInitialMessage();
if (initialMessage != null) {
print('Mensaje FCM abierto desde la aplicación cerrada: ${initialMessage.notification?.title} - ${initialMessage.notification?.body}');
// Aquí puedes redirigir al usuario a una pantalla específica o realizar acciones según los datos recibidos
}
}
}
}