feat(notification): handle notification onclick event

This commit is contained in:
anhtunz
2025-04-08 10:21:48 +07:00
parent 725d35aa5b
commit d4a6e236a0
4 changed files with 45 additions and 27 deletions

View File

@@ -4,7 +4,8 @@ import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import 'package:sfm_app/product/services/api_services.dart';
import 'feature/main/main_screen.dart';
import 'product/services/api_services.dart';
import 'product/services/notification_services.dart';
import 'product/services/theme_services.dart';
import 'product/services/language_services.dart';
@@ -16,8 +17,8 @@ void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FirebaseMessaging
.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
NotificationServices().setupInteractMessage();
.onBackgroundMessage(firebaseMessagingBackgroundHandler);
// NotificationServices().setupInteractMessage();
runApp(
BlocProvider(
@@ -27,15 +28,15 @@ void main() async {
);
}
@pragma('vm:entry-point')
Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
log("Full background message payload: ${message.toMap()}");
await Firebase.initializeApp();
final notificationServices = NotificationServices();
await notificationServices.initLocalNotifications();
await notificationServices.showNotification(message);
log("Background message handled: ${message.data['title']}");
}
// @pragma('vm:entry-point')
// Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
// log("Full background message payload: ${message.toMap()}");
// await Firebase.initializeApp();
// final notificationServices = NotificationServices();
// await notificationServices.initLocalNotifications();
// await notificationServices.showNotification(message);
// log("Background message handled: ${message.data['title']}");
// }
class MyApp extends StatefulWidget {
const MyApp({super.key});
@@ -73,8 +74,8 @@ class _MyAppState extends State<MyApp> {
void initState() {
super.initState();
mainBloc = BlocProvider.of(context);
notificationServices.initLocalNotifications();
notificationServices.firebaseInit(context);
// notificationServices.initLocalNotifications();
// notificationServices.firebaseInit(context);
// notificationServices.setupInteractMessage();
notificationServices.getDeviceToken().then((token){
print("Firebase Token: $token");