Pular para o conteúdo

Notificação push customizada em primeiro plano para iOS

A partir da versão 6.10.0, você pode integrar o módulo PushwooshForegroundPush para customizar notificações push em primeiro plano quando os alertas nativos do sistema iOS estiverem desativados.

1. Desative os alertas de push nativos em primeiro plano

Anchor link to

Adicionando Pushwoosh_SHOW_ALERT = false ao seu Info.plist.

<key>Pushwoosh_SHOW_ALERT</key>
<false/>

2. Integrando o Módulo PushwooshForegroundPush

Anchor link to

Swift Package Manager

Cocoapods

Terminal window
# 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'
end

3. Adicione a Configuração PushwooshForegroundPush no AppDelegate

Anchor link to
import UIKit
import PushwooshFramework
import PushwooshForegroundPush
@main
class 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)
}
}
}

Usando o Método foregroundNotificationWith

O método foregroundNotificationWith permite que você exiba uma notificação push customizada em primeiro plano com estilo, duração e feedback tátil configuráveis.

Assinatura do Método (Swift / Objective-C):

@objc
static func foregroundNotificationWith(
style: PWForegroundPushStyle,
duration: Int,
vibration: PWForegroundPushHapticFeedback,
disappearedPushAnimation: PWForegroundPushDisappearedAnimation
)

Parâmetros:

  1. style (PWForegroundPushStyle)
  • Atualmente, apenas o style1 está disponível.
  1. duration (Int)
  • Especifica por quanto tempo a notificação será exibida antes de desaparecer (em segundos).
  1. vibration (PWForegroundPushHapticFeedback)
  • Controla o feedback tátil quando a notificação é exibida. Opções disponíveis:
case none // Sem vibração
case light // Vibração leve
case medium // Vibração média
case heavy // Vibração forte
case soft // Vibração suave
case rigid // Vibração rígida
case notification // Vibração de notificação padrão
  1. disappearedPushAnimation (PWForegroundPushDisappearedAnimation)
  • Animação de desaparecimento do push
case balls = 0
case regularPush

4. Implementando o Método Delegate didTapForegroundPush

Anchor link to

Para lidar com os toques do usuário em notificações push customizadas em primeiro plano, implemente o método do protocolo PWForegroundPushDelegate:

// Lida com o toque no push em primeiro plano
func didTapForegroundPush(_ userInfo: [AnyHashable : Any]) {
print("Foreground custom push: \(userInfo)")
// Realize qualquer ação, ex: navegar para uma tela específica
// navigateToScreen(for: userInfo)
}

Notas:

  • Este método é chamado quando o usuário toca em um push customizado em primeiro plano.
  • userInfo contém o payload da notificação.
  • Certifique-se de definir Pushwoosh.ForegroundPush.delegate = self após a configuração.

5. Parâmetros Opcionais para Customizar Notificações Push em Primeiro Plano

Anchor link to

O módulo PushwooshForegroundPush fornece vários parâmetros opcionais para customizar a aparência e o comportamento de suas notificações push em primeiro plano. Eles podem ser definidos globalmente através de propriedades estáticas.

PropriedadeTipoDescriçãoPadrão
useLiquidViewBoolUsa a visualização Liquid Glass no iOS 26.false
gradientColors[UIColor]?Array opcional de cores para um fundo gradiente.nil
backgroundColorUIColor?Cor de fundo para o push. Se for nulo e gradientColors não estiver definido, o gradiente padrão é usado.Gradiente padrão do sistema
usePushAnimationBoolSe deve animar o push quando exibido.true
titlePushColorUIColor?Cor do texto do título da notificação. O padrão é o branco do sistema se for nulo.white
messagePushColorUIColor?Cor do texto da mensagem da notificação. O padrão é o branco do sistema se for nulo.white
titlePushFontUIFont?Fonte do texto do título da notificação. O padrão é a fonte do sistema se for nulo.Fonte padrão do sistema
messagePushFontUIFont?Fonte do texto da mensagem da notificação. O padrão é a fonte do sistema se for nulo.Fonte padrão do sistema

Resumo:

  • Swift 5.13+ + iOS 26 → Liquid Glass
  • Swift 5.13+ + iOS < 26 → UIView Padrão
  • Swift < 5.13 → Sempre visualização desfocada (sem suporte a Liquid Glass)

Exemplo de Uso:

Pushwoosh.ForegroundPush.useLiquidView = true
Pushwoosh.ForegroundPush.gradientColors = [.red, .orange, .yellow]
Pushwoosh.ForegroundPush.titlePushColor = .red
Pushwoosh.ForegroundPush.messagePushColor = .green
Pushwoosh.ForegroundPush.backgroundColor = .black
Pushwoosh.ForegroundPush.titlePushFont = .boldSystemFont(ofSize: 22)
Pushwoosh.ForegroundPush.messagePushFont = .italicSystemFont(ofSize: 15)
Pushwoosh.ForegroundPush.usePushAnimation = false

6. Exemplo de Push em Primeiro Plano

Anchor link to

Este exemplo demonstra como exibir uma notificação push customizada em primeiro plano com título, mensagem, cartões e animação GIF.

Push em primeiro plano da Pushwoosh com visualização Liquid Glass animada
Push em primeiro plano da Pushwoosh com anexo gif
Push em primeiro plano da Pushwoosh com imagem de cartão
Push em primeiro plano da Pushwoosh com um gradiente customizado e cores de título e mensagem customizadas
Push em primeiro plano da Pushwoosh com fundo, fontes de título e mensagem customizados, e sem animação

É isso. Você configurou com sucesso as notificações push customizadas em primeiro plano no iOS com a Pushwoosh.