# #firebase #flutter #firebase-cloud-messaging #flutter-local-notification
Вопрос:
Я использую fcm и local_notifications для обработки push-уведомлений в своем проекте Flutter.
Отправка уведомлений с использованием этой полезной нагрузки:
{
token: body.token,
notification = {
title: body.data.title,
body: body.data.body,
},
data: {
data: JSON.stringify(body.data),
}
}
Поэтому, когда приходит уведомление
при завершении работы приложения: Уведомление отлично отображается для обоих приложений(ios — android)
в фоновом режиме приложения: Уведомление отлично отображается для обоих приложений(ios — android)
на переднем плане приложения:
приложение для Android: уведомление приходит как уведомление о данных, fcm ничего не предупреждает, как я этого хочу.
приложение ios: когда приходит уведомление, fcm отображает предупреждение, которое я не хочу. А также одновременно отображаются local_notifications.
Моя проблема в том, что fcm обрабатывает уведомления переднего плана в приложении ios. Когда это работает таким образом, я не могу отключить уведомление, которое не должно отображаться на переднем плане.
pubspec.yaml:
firebase_messaging: ^10.0.4
flutter_local_notifications: ^8.1.1 1
параметры уведомления о переднем плане firebase:
await instance.setForegroundNotificationPresentationOptions(alert: true, badge: true, sound: true);
Когда я удаляю параметры уведомлений переднего плана firebase или устанавливаю все параметры false, local_notifications также не может отображать уведомления.
параметры уведомлений local_notifications на переднем плане:
instance.resolvePlatformSpecificImplementation<IOSFlutterLocalNotificationsPlugin>()?.requestPermissions(
alert: true,
badge: true,
sound: true,
);
Спасибо.
Ответ №1:
Я нашел решение: это было слишком очевидно 😀
await instance.setForegroundNotificationPresentationOptions(alert: false, badge: true, sound: true);
параметр alert должен быть равен false, если вы не хотите, чтобы FCM обрабатывал предупреждения переднего плана.