Флаттер локальных уведомлений в фоновом режиме не работает для iOSIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Флаттер локальных уведомлений в фоновом режиме не работает для iOS

Сообщение Anonymous »

Итак, я пытаюсь создать приложение, в котором я храню данные с помощью Firebase, приложение прослушивает изменения Firebase Firestore и отправляет уведомления через локальные уведомления. Моя проблема в том, что уведомление работает, когда приложение открывается, но не работает, когда приложение работает в фоновом режиме
, есть ли решение без использования push-уведомлений о пожарных сообщениях? и платная учетная запись разработчика Apple?
Я пытался создать фоновую службу с помощью flutter_background_services, но мне не удалось заставить ее работать.
вот мой код для флаттер-уведомлений:
import 'dart:async';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';

class NotificationService {
FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin=FlutterLocalNotificationsPlugin();

NotificationService() {
initNotification();
}

Future initNotification() async{
AndroidInitializationSettings androidInitializationSettings= const AndroidInitializationSettings("app_logo");
var initialisationIos=DarwinInitializationSettings(
options: {
DarwinNotificationCategoryOption.hiddenPreviewShowTitle,
},
)
],requestSoundPermission: true,onDidReceiveLocalNotification:(id, title, body, payload)async {

} ,requestAlertPermission: true,requestBadgePermission: true);

var initialisationSettings=InitializationSettings(android: androidInitializationSettings,iOS: initialisationIos);
await flutterLocalNotificationsPlugin.initialize(initialisationSettings,onDidReceiveNotificationResponse: (details) {

},);

}

notificationDetails() async{
return const NotificationDetails(android: AndroidNotificationDetails(priority: Priority.high,sound: RawResourceAndroidNotificationSound("notification.mp3"),"channelId", "channelName",importance: Importance.max,)
,iOS: DarwinNotificationDetails(sound: "notification.caf",presentSound: true));
}

Future showNotificatio({int id=0 ,String? title,String?body , String? payload}) async{
return flutterLocalNotificationsPlugin.show(id, title, body, await notificationDetails(),payload: payload);
}
}

Моя неудачная попытка фоновой службы:


void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
);
await initializeService();
runApp(const MainApp());

}
bool firstSnapshot=true;

@pragma('vm:entry-point')

Future startFireBaseListener(ServiceInstance service) async{

WidgetsFlutterBinding.ensureInitialized();
DartPluginRegistrant.ensureInitialized();

FirebaseFirestore.instance.collection("journal").snapshots().listen((event) {

if(firstSnapshot){
firstSnapshot=false;
return;
}

final lastDoc= event.docChanges[event.docChanges.length-1];
if(lastDoc.type==DocumentChangeType.added){
NotificationService().showNotificatio(body: lastDoc.doc["body"],title: lastDoc.doc["title"]);
}

},);

return true;
}

Future initializeService()async{

try{
final flutterService=FlutterBackgroundService();

await flutterService.configure(iosConfiguration: IosConfiguration(autoStart: true,onBackground: (service) => startFireBaseListener(service),onForeground: (service) => startFireBaseListener(service),),
androidConfiguration: AndroidConfiguration(autoStart: true,autoStartOnBoot: true,onStart: (service) => startFireBaseListener(service), isForegroundMode: false,));

await flutterService.startService();
print("background service started");
}catch(e){
print(e.toString());
}

}



Подробнее здесь: https://stackoverflow.com/questions/790 ... ng-for-ios
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Флаттер локальных уведомлений в фоновом режиме не работает для iOS
    Anonymous » » в форуме IOS
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • .Net Maui Firebase Push Notifications обработка уведомлений, когда приложение закрыто/в фоновом режиме
    Anonymous » » в форуме C#
    0 Ответы
    54 Просмотры
    Последнее сообщение Anonymous
  • Как выполнять длительные задачи в фоновом режиме без отображения уведомлений
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как выполнять длительные задачи в фоновом режиме без отображения уведомлений
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как выполнять длительные задачи в фоновом режиме без каких-либо уведомлений?
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»