Push em primeiro plano personalizado

Dê estilo ao push que chega com o app aberto

Quando um push chega com o seu app aberto, o iOS deixa esse momento com você. O Pushwoosh iOS SDK o desenha como um banner animado com suas próprias cores e fontes, com o material Liquid Glass da Apple no iOS 26.

Três telas de iPhone vistas de frente, lado a lado, dentro de apps diferentes: um app de notícias com um banner Liquid Glass da marca sobre uma matéria, um jogo com um banner no estilo da arte sobre a tela da partida e um app de banco com um banner de confirmação sobre a tela de transferência

Mais de 80.000 empresas confiam na Pushwoosh para escalar o engajamento

O recurso, por completo

Um push que chega enquanto o app está em primeiro plano é problema do seu app. O iOS coloca o banner simples do sistema por cima da sua interface, ou não mostra nada, e uma mensagem em torno da qual você montou uma Jornada inteira aparece como um retângulo cinza genérico. O módulo PushwooshForegroundPush renderiza esse mesmo payload como um banner que é seu.

Liquid Glass (iOS 26)

Ative useLiquidView e o banner é desenhado no material Liquid Glass da Apple, parecendo parte do iOS 26 e não uma camada colada por cima da sua tela.

Banner padrão (iOS 13 a 25)

Abaixo do iOS 26, a mesma chamada renderiza um banner sólido com seu gradiente e suas cores, e toolchains Swift mais antigas recorrem a uma view com efeito de desfoque. Uma configuração cobre os três casos.

Imagem de card e GIF

Título, mensagem, uma imagem de card e um GIF animado, tudo lido do payload que o push já transporta.

Movimento, vibração e tempo de exibição

Uma animação de entrada, uma saída balls ou regularPush, uma vibração na chegada escolhida entre sete níveis e uma duração em segundos antes de o banner sumir sozinho.

O que você controla

PropriedadeO que defineValores
useLiquidViewO material Liquid Glass no iOS 26Bool, false por padrão
gradientColors, backgroundColorA superfície em que o banner é desenhadoAs cores da sua marca
titlePushColor, messagePushColorCor do texto das duas linhasAs cores da sua marca
titlePushFont, messagePushFontFontes das duas linhasQualquer fonte incluída no seu app
usePushAnimationA animação de entradaBool, true por padrão
durationQuanto tempo o banner fica antes de sumirSegundos
vibrationA vibração disparada na chegadanone, light, medium, heavy, soft, rigid, notification
disappearedPushAnimationComo o banner sai da telaballs ou regularPush
styleO layout nativostyle1, o único disponível hoje
Propriedade
1 / 9
useLiquidView
O que define
O material Liquid Glass no iOS 26
Valores
Bool, false por padrão
Propriedade
2 / 9
gradientColors, backgroundColor
O que define
A superfície em que o banner é desenhado
Valores
As cores da sua marca
Propriedade
3 / 9
titlePushColor, messagePushColor
O que define
Cor do texto das duas linhas
Valores
As cores da sua marca
Propriedade
4 / 9
titlePushFont, messagePushFont
O que define
Fontes das duas linhas
Valores
Qualquer fonte incluída no seu app
Propriedade
5 / 9
usePushAnimation
O que define
A animação de entrada
Valores
Bool, true por padrão
Propriedade
6 / 9
duration
O que define
Quanto tempo o banner fica antes de sumir
Valores
Segundos
Propriedade
7 / 9
vibration
O que define
A vibração disparada na chegada
Valores
none, light, medium, heavy, soft, rigid, notification
Propriedade
8 / 9
disappearedPushAnimation
O que define
Como o banner sai da tela
Valores
balls ou regularPush
Propriedade
9 / 9
style
O que define
O layout nativo
Valores
style1, o único disponível hoje

Onde você configura

Uma chamada na inicialização

foregroundNotificationWith(style:duration:vibration:disappearedPushAnimation:) em didFinishLaunchingWithOptions, mais as propriedades de aparência. Configurado uma vez para o app inteiro.

Uma chamada na chegada

showForegroundPush(userInfo:) a partir do callback PWMessagingDelegate.onMessageReceived renderiza o banner direto do payload da mensagem.

Um delegate para o toque

PWForegroundPushDelegate.didTapForegroundPush(userInfo:) entrega o payload completo, então o toque faz o deep link exatamente para onde a campanha previa.

O trabalho que ele faz, dentro de uma jornada

Um push, três formas de exibição

O banner em primeiro plano é um modo de exibição de uma mensagem que você já envia. Mesmo segmento, mesmo gatilho, mesmo payload, mesma etapa da mesma Jornada do Cliente. O que muda é o que o dispositivo faz com ela na chegada.

Com o app fechado, a mensagem chega como um push comum do sistema ou atualiza uma Live Activity. Com o app aberto, o SDK desenha este banner. Quando o momento pede tela cheia com uma oferta ou um formulário, a mesma Jornada escala para uma mensagem in-app.

Uma notícia estoura enquanto o leitor está no meio de uma matéria

Um evento editorial dispara a Jornada. Um push silencioso pré-carrega a matéria em segundo plano, invisível para o leitor, e o alerta vem um segundo depois.

Quem está com o app fechado vê o push do sistema na tela de bloqueio. Quem já está dentro vê o banner do próprio veículo deslizar sobre a matéria que estava lendo, com miniatura, e um toque leva direto à nova notícia. A Message Inbox guarda o alerta em qualquer um dos casos.

Para que usar

O banner só aparece quando alguém está dentro do seu app, então o valor dele acompanha a densidade de sessão: quanto dos seus envios chega a uma tela já aberta. Apps com sessões longas ganham mais; apps cujas mensagens chegam com o celular no bolso ganham muito pouco.

MomentoO que a mensagem dizPor que o banner funciona
Esportes ao vivo: um gol enquanto o usuário acompanha no app1 a 0, 68 minutosO usuário abriu o app para o jogo e está assistindo quando o push chega
E-commerce e marketplaces: uma queda de preço durante a navegaçãoDe volta ao estoque no seu tamanhoUm banner com estilo no meio da rolagem parece parte da loja, e não uma interrupção
Fintech: uma confirmação durante uma tarefa no appTransferência enviadaUma confirmação com a cara da marca parece nativa no momento em que o usuário está esperando por ela
Mídia e notícias: uma notícia estoura durante a leituraSaiu o vereditoO leitor já está no app, e o banner do sistema quebra o design do próprio veículo
Streaming: um lançamento chega durante um episódioA 3ª temporada está no arO alerta pode trazer a arte da série em vez de aparecer como elemento genérico do sistema
Jogos mobile: um evento ou recompensa durante a partidaSua vez: A raid começa em 5Sessões longas fazem a maioria dos pushes chegar durante o jogo, e um banner no estilo da arte combina com a interface
Apps de criadores e assinatura: um lançamento ou um lembrete de testeNovidade de um artista que você segueUm app bem desenhado não deveria entregar esse momento ao sistema, e o toque leva direto ao paywall
Momento
1 / 7
Esportes ao vivo: um gol enquanto o usuário acompanha no app
O que a mensagem diz
1 a 0, 68 minutos
Por que o banner funciona
O usuário abriu o app para o jogo e está assistindo quando o push chega
Momento
2 / 7
E-commerce e marketplaces: uma queda de preço durante a navegação
O que a mensagem diz
De volta ao estoque no seu tamanho
Por que o banner funciona
Um banner com estilo no meio da rolagem parece parte da loja, e não uma interrupção
Momento
3 / 7
Fintech: uma confirmação durante uma tarefa no app
O que a mensagem diz
Transferência enviada
Por que o banner funciona
Uma confirmação com a cara da marca parece nativa no momento em que o usuário está esperando por ela
Momento
4 / 7
Mídia e notícias: uma notícia estoura durante a leitura
O que a mensagem diz
Saiu o veredito
Por que o banner funciona
O leitor já está no app, e o banner do sistema quebra o design do próprio veículo
Momento
5 / 7
Streaming: um lançamento chega durante um episódio
O que a mensagem diz
A 3ª temporada está no ar
Por que o banner funciona
O alerta pode trazer a arte da série em vez de aparecer como elemento genérico do sistema
Momento
6 / 7
Jogos mobile: um evento ou recompensa durante a partida
O que a mensagem diz
Sua vez: A raid começa em 5
Por que o banner funciona
Sessões longas fazem a maioria dos pushes chegar durante o jogo, e um banner no estilo da arte combina com a interface
Momento
7 / 7
Apps de criadores e assinatura: um lançamento ou um lembrete de teste
O que a mensagem diz
Novidade de um artista que você segue
Por que o banner funciona
Um app bem desenhado não deveria entregar esse momento ao sistema, e o toque leva direto ao paywall

Quando outra superfície é a certa

O banner é o degrau intermediário, de leitura rápida, entre um alerta simples do sistema e uma mensagem in-app em tela cheia. Muitos momentos ficam de um lado ou do outro.

  • O momento chega com o app fechado: o entregador na porta, uma mudança de portão, um alerta de fraude. Isso é um push simples, um nível de interrupção ou uma Live Activity.
  • O estado é contínuo, não instantâneo: um pedido em andamento, uma corrida a caminho, um placar ao vivo. Isso é uma Live Activity.
  • A mensagem precisa de tela cheia: uma oferta, um formulário, um paywall. Isso é uma mensagem in-app, mais rica e criada sem código.
  • Você quer mudar quem recebe a mensagem ou o que ela diz. Este recurso muda a aparência; o alcance continua com o push mobile.
O banner é o seu estilo. O texto ainda é você quem escreve

50 notificações push que valem a pena copiar, com o texto e o criativo por trás de cada uma.

Veja os exemplos

Cobertura de plataformas e técnica

O módulo é de iOS. O Android controla o comportamento em primeiro plano pelos canais de notificação, que o Pushwoosh SDK cria a partir do payload do push em vez de o seu app registrá-los em código, e a web não tem superfície comparável. A última coluna diz o que de fato desenha o banner, porque quase tudo aqui vive no seu app, e não no servidor.

RecursoiOSAndroidWebEntregue por
Banner em primeiro plano personalizadoiOS 13.0+, Pushwoosh SDK 6.10.0+––O módulo PushwooshForegroundPush no seu app
Material Liquid GlassiOS 26 com Swift 5.13+––Material da Apple, ativado com useLiquidView
Fallback de banner sólidoiOS abaixo do 26, Swift 5.13+––Uma view padrão desenhada pelo SDK
Fallback de banner desfocadoQualquer iOS, Swift abaixo de 5.13––Uma view com efeito de desfoque desenhada pelo SDK
Título, mensagem, imagem de card, GIFSim––O payload do push, sem alterações
Cores, gradientes e fontes da marcaSim––Propriedades estáticas de aparência no módulo
Vibração, animação de entrada e saída, duraçãoSim––foregroundNotificationWith na inicialização do app
Tratamento do toque e deep linkSim––PWForegroundPushDelegate.didTapForegroundPush
Configuração da aparência sem código–––Não disponível hoje, o estilo fica no código do app
A superfície equivalente durante a sessão em outras plataformasMensagens in-app, Live ActivitiesMensagens in-appMensagens in-appProdutos separados, criados sem código no Control Panel
Recurso
1 / 10
Banner em primeiro plano personalizado
iOS
iOS 13.0+, Pushwoosh SDK 6.10.0+
Android
–
Web
–
Entregue por
O módulo PushwooshForegroundPush no seu app
Recurso
2 / 10
Material Liquid Glass
iOS
iOS 26 com Swift 5.13+
Android
–
Web
–
Entregue por
Material da Apple, ativado com useLiquidView
Recurso
3 / 10
Fallback de banner sólido
iOS
iOS abaixo do 26, Swift 5.13+
Android
–
Web
–
Entregue por
Uma view padrão desenhada pelo SDK
Recurso
4 / 10
Fallback de banner desfocado
iOS
Qualquer iOS, Swift abaixo de 5.13
Android
–
Web
–
Entregue por
Uma view com efeito de desfoque desenhada pelo SDK
Recurso
5 / 10
Título, mensagem, imagem de card, GIF
iOS
Sim
Android
–
Web
–
Entregue por
O payload do push, sem alterações
Recurso
6 / 10
Cores, gradientes e fontes da marca
iOS
Sim
Android
–
Web
–
Entregue por
Propriedades estáticas de aparência no módulo
Recurso
7 / 10
Vibração, animação de entrada e saída, duração
iOS
Sim
Android
–
Web
–
Entregue por
foregroundNotificationWith na inicialização do app
Recurso
8 / 10
Tratamento do toque e deep link
iOS
Sim
Android
–
Web
–
Entregue por
PWForegroundPushDelegate.didTapForegroundPush
Recurso
9 / 10
Configuração da aparência sem código
iOS
–
Android
–
Web
–
Entregue por
Não disponível hoje, o estilo fica no código do app
Recurso
10 / 10
A superfície equivalente durante a sessão em outras plataformas
iOS
Mensagens in-app, Live Activities
Android
Mensagens in-app
Web
Mensagens in-app
Entregue por
Produtos separados, criados sem código no Control Panel

Segurança e hospedagem

A Pushwoosh roda em hardware próprio nos EUA e na Alemanha, em conformidade com GDPR.

ISO 27001:2022 CertifiedISO 27001 CertifiedGDPR CompliantData Privacy FrameworkHIPAA CompliantSOC 2 Type 2 CertifiedOWASP Compliant

Como funciona

Este recurso pede tempo de engenharia, e a gente fala isso claramente. Não existe editor no Control Panel para a aparência em primeiro plano, então um desenvolvedor configura uma vez no app, e tudo o que vem depois é o envio que você já faz.

  1. Adicione o módulo e passe o primeiro plano para o seu app (desenvolvedor)

    Adicione PushwooshForegroundPush junto com PushwooshFramework, PushwooshCore, PushwooshBridge e PushwooshLiveActivities, e defina Pushwoosh_SHOW_ALERT como false no Info.plist. Isso impede o iOS de desenhar o próprio alerta, porque o banner o substitui em vez de aparecer junto.

  2. Configure a aparência uma vez (desenvolvedor)

    Chame foregroundNotificationWith(style:duration:vibration:disappearedPushAnimation:) em didFinishLaunchingWithOptions e defina as propriedades de aparência para cores, gradientes e fontes. Renderize cada mensagem com showForegroundPush(userInfo:) a partir de onMessageReceived e trate os toques em didTapForegroundPush.

  3. Envie exatamente como hoje (sem código)

    Mesma audiência, mesma Jornada do Cliente, mesmo payload, venha a campanha do Control Panel ou da Messages API. O banner é como esse push aparece quando encontra o app aberto.

Limites que vale conhecer

Uma camada de acabamento com uma janela estreita. Estes são os limites.

  • Só em primeiro plano. O banner aparece com o app aberto, então o alcance dele é exatamente a parcela dos seus envios que chega a uma tela aberta.
  • Só iOS. O comportamento em primeiro plano no Android passa pelos canais de notificação, um mecanismo separado que este módulo não toca.
  • Ele substitui o alerta nativo em primeiro plano. Pushwoosh_SHOW_ALERT precisa ser false, então o banner do sistema e este nunca aparecem juntos.
  • Configuração por código. O estilo fica no código do app, e mudá-lo exige uma nova versão do app, não uma campanha.
  • Um único layout hoje. style1 é o único estilo nativo, e a personalização vai até cores, gradientes, fontes, movimento e duração.
  • Liquid Glass exige iOS 26 e Swift 5.13+. Abaixo disso, a mesma configuração renderiza um banner sólido ou desfocado, então o visual principal alcança apenas a fatia da sua audiência no iOS 26.
  • Ele não deixa marcador no servidor. Entregas e aberturas são reportadas normalmente, e a renderização é feita no cliente, então meça com um teste A/B de taxa de toque durante a sessão, em vez de procurá-lo num relatório.