update notificacion web
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user