Обработка навигации push-уведомлений к различным представлениям в состоянии завершения/уничтожения в iOS с помощью контрIOS

Программируем под IOS
Ответить
Гость
 Обработка навигации push-уведомлений к различным представлениям в состоянии завершения/уничтожения в iOS с помощью контр

Сообщение Гость »


У меня возникла проблема с обработкой push-уведомлений в моем приложении iOS, когда оно находится в состоянии завершения/уничтожения. Вот сценарий:

У меня есть контроллер панели вкладок с четырьмя элементами панели вкладок: A, B, C и D. Вкладка A — это панель мониторинга, которая открывается после входа пользователя в систему. Когда приложение находится в переднем или фоновом состоянии, я может успешно обрабатывать push-уведомления и переходить к различным представлениям на основе моей функции handleNotification.

Однако, когда приложение закрывается/завершается и я создаю push-уведомление, нажатие на него открывает только панель управления. Я хочу иметь возможность переходить к различным представлениям в зависимости от содержимого push-уведомления, даже когда приложение находится в состоянии завершения.

Вот соответствующие подробности:
[*]
Я реализовал push-уведомления с помощью службы push-уведомлений Apple (APNS) и Firebase Cloud Messaging (FCM).
[*]
Я настроил необходимые категории уведомлений и действия в своем приложении.
[*]
Я пытался обработать push-уведомление в методе DidFinishLaunchingWithOptions в AppDelegate, но оно открывает только панель мониторинга.
[*]
Я искал решения и пробовал разные подходы, но не смог найти способ добиться желаемого поведения.

класс NotificationHandler {

static let Shared = NotificationHandler()

func handleNotification(_ userInfo: [AnyHashable: Any]) {

Guard let pushTypeStr = userInfo["type"] as? Нить, let pushType = PushTypes(rawValue: pushTypeStr) else { возвращаться } переключатель pushType { case .report, .masteryBatch:

if let payload = userInfo["payload"] as? Нить { если let dataFromPayload = PushNotificationModel (JSONString: payload) { PushnotificationNavigation.shared.chapterDetailNavigation(модель: dataFromPayload) } } Затем я вызвал этот NotificationHandler в appdelegate.

func userNotificationCenter(_ center: UNUserNotificationCenter, DidReceive ответ: UNNotificationResponse, withCompletionHandlercompleteHandler: @escaping () -> Void) { пусть userInfo = response.notification.request.content.userInfo если UIApplication.shared.applicationState == .background || UIApplication.shared.applicationState == .inactive { NotificationHandler.shared.handleNotification(userInfo) } } Может ли кто-нибудь дать рекомендации о том, как управлять навигацией push-уведомлений к различным представлениям в состоянии завершения/уничтожения приложения iOS, особенно при использовании контроллера панели вкладок?

Спасибо за помощь!
Ответить

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

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

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

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

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