Уведомления не отображаются, когда приложение находится в фоновом режиме (ios, flutter_local_notifications)IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Уведомления не отображаются, когда приложение находится в фоновом режиме (ios, flutter_local_notifications)

Сообщение Anonymous »

Я использую flutter_local_notifications для отображения уведомлений. На iPhone уведомления не отображаются, когда приложение находится в фоновом режиме. Но когда я снова открываю приложение, уведомления отображаются.
Я сделал все следующее:
AppDelegate.swift

Код: Выделить всё

import Flutter
import UIKit
import flutter_local_notifications

@main
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {

// This is required to make any communication available in the action isolate.
FlutterLocalNotificationsPlugin.setPluginRegistrantCallback { (registry) in
GeneratedPluginRegistrant.register(with: registry)
}

if #available(iOS 10.0, *) {
UNUserNotificationCenter.current().delegate = self as
UNUserNotificationCenterDelegate
}
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
Затем в моем классе службы уведомлений:

Код: Выделить всё

Future _setupIOSHeadsUp() async {
await _firebaseMessaging.setForegroundNotificationPresentationOptions(
sound: true,
badge: true,
);
}

Future showBigTextNotification({
required String title,
required String body,
String? payload,
}) async {
// Set up BigTextStyleInformation
final bigTextStyleInformation = BigTextStyleInformation(
body, // Big text content
contentTitle: title, // Title for expanded view
);
final notificationDetails = NotificationDetails(
android: AndroidNotificationDetails(
notificationChannel.id,
notificationChannel.name,
channelDescription: notificationChannel.description,
importance: notificationChannel.importance,
priority: Priority.high,
styleInformation: bigTextStyleInformation,
),
iOS: const DarwinNotificationDetails(
presentAlert: true,
presentSound: true,
presentBadge: true,
),
);

return _flutterLocalNotifications.show(
Random().nextInt(100),
title,
body,
notificationDetails,
payload: payload,
);
}
Установка следующего в моей полезной нагрузке немного помогла. Теперь я могу получать уведомления, когда приложение работает в фоновом режиме.

Код: Выделить всё

apns: {
payload: {
aps: {
"content-available": 1,
},
},
},
Когда приложение iOS закрывается, уведомление по-прежнему не приходит.

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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