bu şekilde denermisin bi

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:awesome_notifications/awesome_notifications.dart';
import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:your_app/in_app_services.dart';
import 'package:your_app/chat_provider.dart';
import 'package:your_app/my_app.dart';

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp();
  print('Arka planda gelen mesaj: ${message.notification?.title}');
}

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Future.wait([
    Firebase.initializeApp(
      options: const FirebaseOptions(
        apiKey: 'X',
        appId: 'X',
        messagingSenderId: 'X',
        projectId: 'X',
      ),
    ),
    EasyLocalization.ensureInitialized(),
  ]);


  FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(false);


  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);
  await FirebaseMessaging.instance.setAutoInitEnabled(true);


  await AwesomeNotifications().initialize(
    'resource://drawable/ic_notification', // Bildirim simgesi
    [
      NotificationChannel(
        channelKey: 'basic_channel',
        channelGroupKey: 'basic_channel_group',
        channelName: 'Basic notifications',
        channelDescription: 'Notification channel for basic tests',
        defaultColor: Colors.black,
        ledColor: Colors.white,
        importance: NotificationImportance.High,
        channelShowBadge: true,
        icon: 'resource://drawable/ic_notification', // Simge kaynağı
      ),
    ],
    debug: true,
  );

  await registerNotification();

  runApp(
    MultiProvider(
      providers: [
        ChangeNotifierProvider(create: (context) => InAppServices()),
        ChangeNotifierProvider(
            create: (context) => ChatProvider(context.read<InAppServices>())),
      ],
      child: EasyLocalization(
        assetLoader: const CodegenLoader(),
        supportedLocales: const [Locale('tr', 'TR')],
        fallbackLocale: const Locale('tr', 'TR'),
        startLocale: const Locale('tr', 'TR'),
        path: 'assets/translations',
        child: const MyApp(),
      ),
    ),
  );
}

Future<void> registerNotification() async {
  FirebaseMessaging messaging = FirebaseMessaging.instance;

  // Kullanıcıdan bildirim izinlerini isteme
  NotificationSettings settings = await messaging.requestPermission(
    alert: true,
    badge: true,
    provisional: false,
    criticalAlert: true,
    sound: true,
  );

  print('Bildirim izin durumu: ${settings.authorizationStatus}');

  // Ön plan mesajları için yapılandırma
  FirebaseMessaging.onMessage.listen((RemoteMessage message) async {
    try {
      if (message.notification != null) {
        await AwesomeNotifications().createNotification(
          content: NotificationContent(
            id: DateTime.now().millisecondsSinceEpoch ~/ 1000,
            channelKey: 'basic_channel',
            title: message.notification?.title ?? 'No Title',
            body: message.notification?.body ?? 'No Body',
          ),
        );
      }
    } catch (e) {
      debugPrint('Bildirim hatası: $e');
    }
  });

  await messaging.setForegroundNotificationPresentationOptions(
    alert: true,
    badge: true,
    sound: true,
  );
}