Пользовательское push-уведомление в активном режиме для iOS
Начиная с версии 6.10.0, вы можете интегрировать модуль PushwooshForegroundPush для настройки push-уведомлений в активном режиме, когда нативные системные оповещения iOS отключены.
1. Отключите нативные оповещения для push-уведомлений в активном режиме
Anchor link toДобавьте Pushwoosh_SHOW_ALERT = false в ваш Info.plist.
<key>Pushwoosh_SHOW_ALERT</key><false/>2. Интеграция модуля PushwooshForegroundPush
Anchor link toSwift Package Manager

Cocoapods
# Uncomment the next line to define a global platform for your project# platform :ios, '13.0'
target 'MyApp' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshFramework/PushwooshForegroundPush'
end3. Добавьте конфигурацию PushwooshForegroundPush в AppDelegate
Anchor link toimport UIKitimport PushwooshFrameworkimport PushwooshForegroundPush
@mainclass AppDelegate: UIResponder, UIApplicationDelegate, PWMessagingDelegate, PWForegroundPushDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Pushwoosh.ForegroundPush.foregroundNotificationWith(style: .style1, duration: 5, vibration: .notification, disappearedPushAnimation: .balls)
Pushwoosh.ForegroundPush.delegate = self
return true }
func pushwoosh(_ pushwoosh: Pushwoosh, onMessageReceived message: PWMessage) { if let payload = message.payload { // Pushwoosh method Pushwoosh.ForegroundPush.showForegroundPush(userInfo: payload) } }}Использование метода foregroundNotificationWith
Метод foregroundNotificationWith позволяет отображать пользовательское push-уведомление в активном режиме с настраиваемым стилем, продолжительностью и тактильной обратной связью.
Сигнатура метода (Swift / Objective-C):
@objcstatic func foregroundNotificationWith( style: PWForegroundPushStyle, duration: Int, vibration: PWForegroundPushHapticFeedback, disappearedPushAnimation: PWForegroundPushDisappearedAnimation)Параметры:
style(PWForegroundPushStyle)
- В настоящее время доступен только
style1.
duration(Int)
- Указывает, как долго уведомление будет отображаться перед исчезновением (в секундах).
vibration(PWForegroundPushHapticFeedback)
- Управляет тактильной обратной связью при показе уведомления. Доступные опции:
case none // Без вибрацииcase light // Легкая вибрацияcase medium // Средняя вибрацияcase heavy // Сильная вибрацияcase soft // Мягкая вибрацияcase rigid // Резкая вибрацияcase notification // Стандартная вибрация уведомленияdisappearedPushAnimation(PWForegroundPushDisappearedAnimation)
- Анимация исчезновения push-уведомления
case balls = 0case regularPush4. Реализация метода делегата didTapForegroundPush
Anchor link toДля обработки нажатий пользователя на пользовательские push-уведомления в активном режиме реализуйте метод протокола PWForegroundPushDelegate:
// Обработка нажатия на push-уведомление в активном режимеfunc didTapForegroundPush(_ userInfo: [AnyHashable : Any]) { print("Foreground custom push: \(userInfo)")
// Выполните любое действие, например, переход на определенный экран // navigateToScreen(for: userInfo)}Примечания:
- Этот метод вызывается, когда пользователь нажимает на пользовательское push-уведомление в активном режиме.
userInfoсодержит полезную нагрузку уведомления.- Убедитесь, что вы установили
Pushwoosh.ForegroundPush.delegate = selfпосле конфигурации.
5. Необязательные параметры для настройки push-уведомлений в активном режиме
Anchor link toМодуль PushwooshForegroundPush предоставляет несколько необязательных параметров для настройки внешнего вида и поведения ваших push-уведомлений в активном режиме. Их можно установить глобально через статические свойства.
| Свойство | Тип | Описание | По умолчанию |
|---|---|---|---|
| useLiquidView | Bool | Использовать вид Liquid Glass на iOS 26. | false |
| gradientColors | [UIColor]? | Необязательный массив цветов для градиентного фона. | nil |
| backgroundColor | UIColor? | Цвет фона для push-уведомления. Если nil и gradientColors не установлен, используется градиент по умолчанию. | Системный градиент по умолчанию |
| usePushAnimation | Bool | Анимировать ли push-уведомление при показе. | true |
| titlePushColor | UIColor? | Цвет текста заголовка уведомления. По умолчанию системный белый, если nil. | white |
| messagePushColor | UIColor? | Цвет текста сообщения уведомления. По умолчанию системный белый, если nil. | white |
| titlePushFont | UIFont? | Шрифт текста заголовка уведомления. По умолчанию системный шрифт, если nil. | Системный шрифт по умолчанию |
| messagePushFont | UIFont? | Шрифт текста сообщения уведомления. По умолчанию системный шрифт, если nil. | Системный шрифт по умолчанию |
Итог:
- Swift 5.13+ + iOS 26 → Liquid Glass
- Swift 5.13+ + iOS < 26 → Стандартный UIView
- Swift < 5.13 → Всегда размытый вид (нет поддержки Liquid Glass)
Пример использования:
Pushwoosh.ForegroundPush.useLiquidView = truePushwoosh.ForegroundPush.gradientColors = [.red, .orange, .yellow]Pushwoosh.ForegroundPush.titlePushColor = .redPushwoosh.ForegroundPush.messagePushColor = .greenPushwoosh.ForegroundPush.backgroundColor = .blackPushwoosh.ForegroundPush.titlePushFont = .boldSystemFont(ofSize: 22)Pushwoosh.ForegroundPush.messagePushFont = .italicSystemFont(ofSize: 15)Pushwoosh.ForegroundPush.usePushAnimation = false6. Пример push-уведомления в активном режиме
Anchor link toЭтот пример демонстрирует, как отобразить пользовательское push-уведомление в активном режиме с заголовком, сообщением, карточками и GIF-анимацией.
Вот и все. Вы успешно настроили пользовательские push-уведомления в активном режиме для iOS с помощью Pushwoosh.