Notificación push personalizada en primer plano para iOS
A partir de la versión 6.10.0, puedes integrar el módulo PushwooshForegroundPush para personalizar las notificaciones push en primer plano cuando las alertas nativas del sistema iOS están deshabilitadas.
1. Deshabilitar las alertas push nativas en primer plano
Anchor link toAñadiendo Pushwoosh_SHOW_ALERT = false a tu Info.plist.
<key>Pushwoosh_SHOW_ALERT</key><false/>2. Integrando el módulo PushwooshForegroundPush
Anchor link toSwift Package Manager

Cocoapods
# Descomenta la siguiente línea para definir una plataforma global para tu proyecto# platform :ios, '13.0'
target 'MyApp' do # Comenta la siguiente línea si no quieres usar frameworks dinámicos use_frameworks!
pod 'PushwooshXCFramework' pod 'PushwooshFramework/PushwooshForegroundPush'
end3. Añadir la configuración de PushwooshForegroundPush en 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 { // Método de Pushwoosh Pushwoosh.ForegroundPush.showForegroundPush(userInfo: payload) } }}Usando el método foregroundNotificationWith
El método foregroundNotificationWith te permite mostrar una notificación push personalizada en primer plano con estilo, duración y retroalimentación háptica configurables.
Firma del método (Swift / Objective-C):
@objcstatic func foregroundNotificationWith( style: PWForegroundPushStyle, duration: Int, vibration: PWForegroundPushHapticFeedback, disappearedPushAnimation: PWForegroundPushDisappearedAnimation)Parámetros:
style(PWForegroundPushStyle)
- Actualmente, solo
style1está disponible.
duration(Int)
- Especifica cuánto tiempo se mostrará la notificación antes de desaparecer (en segundos).
vibration(PWForegroundPushHapticFeedback)
- Controla la retroalimentación háptica cuando se muestra la notificación. Opciones disponibles:
case none // Sin vibracióncase light // Vibración ligeracase medium // Vibración mediacase heavy // Vibración fuertecase soft // Vibración suavecase rigid // Vibración rígidacase notification // Vibración de notificación estándardisappearedPushAnimation(PWForegroundPushDisappearedAnimation)
- Animación de desaparición de la notificación push
case balls = 0case regularPush4. Implementando el método delegado didTapForegroundPush
Anchor link toPara manejar los toques del usuario en las notificaciones push personalizadas en primer plano, implementa el método del protocolo PWForegroundPushDelegate:
// Manejar el toque en la notificación push en primer planofunc didTapForegroundPush(_ userInfo: [AnyHashable : Any]) { print("Foreground custom push: \(userInfo)")
// Realizar cualquier acción, por ejemplo, navegar a una pantalla específica // navigateToScreen(for: userInfo)}Notas:
- Este método se llama cuando el usuario toca una notificación push personalizada en primer plano.
userInfocontiene el payload de la notificación.- Asegúrate de establecer
Pushwoosh.ForegroundPush.delegate = selfdespués de la configuración.
5. Parámetros opcionales para personalizar las notificaciones push en primer plano
Anchor link toEl módulo PushwooshForegroundPush proporciona varios parámetros opcionales para personalizar la apariencia y el comportamiento de tus notificaciones push en primer plano. Estos se pueden establecer globalmente a través de propiedades estáticas.
| Propiedad | Tipo | Descripción | Predeterminado |
|---|---|---|---|
| useLiquidView | Bool | Usa la vista Liquid Glass en iOS 26. | false |
| gradientColors | [UIColor]? | Array opcional de colores para un fondo degradado. | nil |
| backgroundColor | UIColor? | Color de fondo para la notificación push. Si es nil y gradientColors no está establecido, se utiliza el degradado predeterminado. | Degradado del sistema predeterminado |
| usePushAnimation | Bool | Indica si se debe animar la notificación push cuando se muestra. | true |
| titlePushColor | UIColor? | Color del texto del título de la notificación. Por defecto, es el blanco del sistema si es nil. | blanco |
| messagePushColor | UIColor? | Color del texto del mensaje de la notificación. Por defecto, es el blanco del sistema si es nil. | blanco |
| titlePushFont | UIFont? | Fuente del texto del título de la notificación. Por defecto, es la fuente del sistema si es nil. | Fuente del sistema predeterminada |
| messagePushFont | UIFont? | Fuente del texto del mensaje de la notificación. Por defecto, es la fuente del sistema si es nil. | Fuente del sistema predeterminada |
Resumen:
- Swift 5.13+ + iOS 26 → Liquid Glass
- Swift 5.13+ + iOS < 26 → UIView estándar
- Swift < 5.13 → Siempre vista desenfocada (sin soporte para Liquid Glass)
Ejemplo de uso:
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. Ejemplo de notificación push en primer plano
Anchor link toEste ejemplo demuestra cómo mostrar una notificación push personalizada en primer plano con título, mensaje, tarjetas y animación GIF.
Eso es todo. Has configurado con éxito las notificaciones push personalizadas en primer plano en iOS con Pushwoosh.