import 'package:firebase_messaging/firebase_messaging.dart';

class NotificationService {
  final FirebaseMessaging _messaging = FirebaseMessaging.instance;

  /// درخواست دسترسی به نوتیفیکیشن
  Future<void> requestNotificationPermission() async {
    NotificationSettings settings = await _messaging.requestPermission(
      alert: true,
      announcement: false,
      badge: true,
      carPlay: false,
      criticalAlert: false,
      provisional: false,
      sound: true,
    );

    if (settings.authorizationStatus == AuthorizationStatus.authorized) {
      // print('User granted permission');
    } else {
      // print('User declined or has not granted permission');
    }
  }

  /// دریافت توکن دستگاه
  Future<void> getToken() async {
    String? token = await _messaging.getToken();
    print("Device Token: $token");
    // اینجا می‌توانید توکن را به سرور خود ارسال کنید
  }

  /// تنظیم Listener برای دریافت نوتیفیکیشن‌ها
  void setupMessageListener() {
    FirebaseMessaging.onMessage.listen((RemoteMessage message) {
      // print('Message received: ${message.notification?.title}');
      // print('Message body: ${message.notification?.body}');
      // اینجا می‌توانید یک Dialog یا Toast برای نمایش پیام استفاده کنید
    });
  }
}
