> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuração de web push

> Configure notificações web push com OneSignal para reengajar usuários no Chrome, Firefox, Safari e Edge.

Notificações web push reengajam usuários com conteúdo oportuno — mesmo quando eles não estão navegando ativamente no seu website. Elas suportam conteúdo rico incluindo texto, imagens, botões de ação e sons.

<Frame caption="Notificações web push ajudam você a alcançar usuários mesmo quando eles não estão no seu site">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/ac9092f6fd99acc866af2598470d3b4b6e8233d947e45d8aade0b8bfcea71c8f-channel-setup-web-push.jpg?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=e73d6a84ca1e7ea2402ca3dc73d33f02" alt="Web push notification examples across different browsers and devices" width="1280" height="720" data-path="images/docs/ac9092f6fd99acc866af2598470d3b4b6e8233d947e45d8aade0b8bfcea71c8f-channel-setup-web-push.jpg" />
</Frame>

Para que web push funcione:

* **Website HTTPS**: Web push apenas funciona em sites seguros com um certificado SSL válido
* **Service worker**: Você deve ser capaz de adicionar o [service worker do OneSignal](./onesignal-service-worker) ao seu website
* **Origem de domínio único**: Deve seguir a [política de mesma origem](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy)
* **Permissão do usuário**: Usuários devem explicitamente conceder permissão para receber notificações
* **Navegadores suportados**: Funciona na maioria dos navegadores modernos (Chrome, Firefox, Safari, Edge)

<Warning>
  Usuários não podem se inscrever enquanto estão no modo Anônimo ou navegação privada. Dispositivos iOS requerem configuração adicional (veja [Web push para iOS](./web-push-for-ios)). Alguns navegadores podem ter limites de notificação ou requerer interação do usuário — veja [FAQ de Web Push](./web-push-setup-faq).
</Warning>

Este guia percorre cada passo—desde configuração do SDK até envio de mensagens push personalizadas—para ajudá-lo a implementar com sucesso notificações push do OneSignal.

***

## Guias de desenvolvedor de web push

Antes que você possa enviar notificações web push, seu desenvolvedor precisa completar os seguintes passos.

<Note>
  Não é desenvolvedor? Veja [Gerenciar Membros da Equipe](./manage-team-members) para convidar um colega de equipe com acesso de desenvolvedor ao seu projeto OneSignal.
</Note>

<Columns cols={2}>
  <Card title="Configuração do Web SDK" icon="browsers" href="./web-sdk-setup">
    Guia completo para instalar e configurar o Web SDK OneSignal, incluindo testes localhost e prompts de permissão.
  </Card>

  <Card title="Plugin WordPress" icon="plug" href="./wordpress">
    Integre rapidamente notificações push no WordPress usando nosso plugin oficial—sem código necessário.
  </Card>

  <Card title="Configuração de web push para iOS" icon="apple" href="./web-push-for-ios">
    Siga passos específicos da Apple para habilitar web push em iPhones e iPads rodando iOS 16.4+.
  </Card>

  <Card title="Migração de outro provedor" icon="arrow-right-arrow-left" href="./migrating-to-onesignal">
    Aprenda como fazer transição de outro provedor de web push e reter seus inscritos.
  </Card>
</Columns>

***

## Opções de configuração

Configure seu website para web push no dashboard OneSignal em **Settings > Push & In-App > Web**.

<Frame caption="Ative a plataforma web nas suas configurações OneSignal">
  <img src="https://mintcdn.com/onesignal/KPVdijCt4_xCbkO8/images/dashboard/web-push-platform-activation.png?fit=max&auto=format&n=KPVdijCt4_xCbkO8&q=85&s=beba7df5d3a4ad5545311951da0f03d2" alt="OneSignal dashboard showing web push platform activation in settings" width="1188" height="597" data-path="images/dashboard/web-push-platform-activation.png" />
</Frame>

Selecione o tipo de integração que corresponde ao seu site:

<Frame caption="Escolha seu tipo de integração baseado na configuração do seu website">
  <img src="https://mintcdn.com/onesignal/BK2J-grzBpDdh8NC/images/dashboard/web-push-integration-type-options.png?fit=max&auto=format&n=BK2J-grzBpDdh8NC&q=85&s=f74c4245d969d80db72268a865bcf899" alt="OneSignal dashboard showing integration type options: Typical Site, WordPress, and Custom Code" width="2668" height="1454" data-path="images/dashboard/web-push-integration-type-options.png" />
</Frame>

<Columns cols={3}>
  <Card title="Site Típico" icon="globe" href="./web-sdk-setup">
    **Recomendado** - Configure prompts, notificação de boas-vindas e configuração de service worker diretamente no dashboard—sem código backend necessário.
  </Card>

  <Card title="WordPress" icon="plug" href="./wordpress">
    Use o plugin oficial OneSignal para configurar facilmente push no seu site WordPress com configuração completa baseada em UI.
  </Card>

  <Card title="Código Personalizado" icon="code" href="./web-push-custom-code-setup">
    Configuração com controle completo para desenvolvedores que querem personalizar tudo via código.
  </Card>
</Columns>

Detalhes do site:

* **Nome do Site**: Usado em títulos de notificação padrão
* **URL do Site**: Deve corresponder exatamente à origem do seu domínio (sem caminhos ou incompatibilidade de `www`)
* **Auto Resubscribe**: Recomendado - Reinscreve automaticamente usuários que retornam e limparam dados do navegador
* **URL do Ícone Padrão**: Imagem `256x256px` mostrada em notificações (se não definida, um ícone de sino padrão é usado)

### Auto resubscribe

Se usuários limparem seus dados de navegador, eles pararão de receber notificações push. Habilite esta opção para reinscrever automaticamente usuários quando eles retornarem ao seu site. Veja [Subscriptions](./subscriptions) para mais detalhes.

<Frame caption="Configurações Web no dashboard OneSignal">
  <img src="https://mintcdn.com/onesignal/uaUYB-ILUGPSRvKB/images/docs/web-push-site-settings.png?fit=max&auto=format&n=uaUYB-ILUGPSRvKB&q=85&s=893a536c16cb4c439bc8fe53892861da" alt="OneSignal dashboard web push configuration settings showing site details and auto resubscribe option" width="2072" height="712" data-path="images/docs/web-push-site-settings.png" />
</Frame>

***

### Prompts de permissão web

Solicitar permissão de notificação aos usuários é crítico para opt-in. Você pode personalizar o comportamento e aparência de requisições de permissão baseado na sua configuração.

<Tip>
  Use mensagens claras que explicam o benefício, solicite usuários no momento certo (ex: após engajamento) e use um pré-prompt antes de acionar o diálogo nativo do navegador.
</Tip>

<Columns cols={2}>
  <Card title="Prompts de permissão web" icon="bell" href="./permission-requests">
    Compare diferentes tipos de prompt (slidedown, baseado em categoria, nativo, sino de subscription e mais) e aprenda quando usar cada um.
  </Card>

  <Card title="Referência do Web SDK" icon="code" href="./web-sdk-reference">
    Aprenda como controlar programaticamente quando e como prompts são mostrados usando o SDK.
  </Card>
</Columns>

***

### Notificação de boas-vindas

Você pode habilitar um push de confirmação opcional que é enviado imediatamente após um usuário se inscrever.

Integração Típica e WordPress podem definir isso no dashboard.

<Frame caption="Notificações de boas-vindas confirmam subscription bem-sucedida e demonstram valor">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f33b02284d74f534669e87edfc8cd23e6be06eb8e705f640fd96bd8b7292ff4d-Screenshot_2024-10-25_at_2.06.50_PM.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=a70fc05fa5728334e75b95bbb276a923" alt="OneSignal dashboard showing welcome notification configuration with title, message, and URL fields" width="2072" height="728" data-path="images/docs/f33b02284d74f534669e87edfc8cd23e6be06eb8e705f640fd96bd8b7292ff4d-Screenshot_2024-10-25_at_2.06.50_PM.png" />
</Frame>

Integração com Código Personalizado usa o objeto `welcomeNotification` na função `OneSignal.init`. Veja [Referência do Web SDK](./web-sdk-reference) para detalhes.

**Por que enviar notificações de boas-vindas?**

* Deixe usuários saberem que se inscreveram com sucesso
* Mostre como notificações futuras parecerão
* Forneça conteúdo de onboarding ou próximos passos

***

## Usuários e subscriptions

Quando um usuário se inscreve para push, o OneSignal automaticamente cria uma **subscription** única vinculada ao navegador/dispositivo dele.

Subscriptions de web push são criadas quando usuários:

* Concedem permissão para notificações push no seu website usando um navegador e dispositivo específicos
* Retornam ao seu site **após limpar dados do navegador** (se Auto Resubscribe estiver habilitado)
* Inscrevem-se de um novo navegador ou dispositivo

<Note>
  Cada combinação navegador/dispositivo cria uma subscription separada. Modo de navegação anônima/privada não pode criar subscriptions. Subscriptions de web push permanecem anônimas até que você atribua a elas um [External ID](./users#external-id).
</Note>

<Frame caption="Dashboard OneSignal: Audience > Users">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/users-page.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=8992ef97cf3c9f336078f9dbf8a6374e" alt="OneSignal dashboard Users page showing a list of Users with Subscription details" width="2316" height="858" data-path="images/dashboard/users-page.png" />
</Frame>

<Columns cols={2}>
  <Card title="Users" icon="users" href="./users">
    Aprenda como gerenciar usuários, atribuir External IDs e rastrear sua atividade.
  </Card>

  <Card title="Subscriptions" icon="address-book" href="./subscriptions">
    Entenda como subscriptions funcionam através de navegadores e dispositivos.
  </Card>

  <Card title="Segments" icon="chart-pie" href="./segmentation">
    Agrupe usuários em segmentos para direcionar baseado em comportamento, dispositivo e mais.
  </Card>
</Columns>

### Suporte iOS

A Apple adicionou suporte de web push para iPhones e iPads rodando iOS 16.4+ mas com requisitos mais rigorosos:

* Usuários devem adicionar seu site à Tela Inicial deles
* Prompts de permissão são mostrados apenas após aquele passo
* Notificações comportam-se como alertas de app nativo uma vez habilitadas

<Columns cols={2}>
  <Card title="Web push para iOS" icon="apple" href="./web-push-for-ios">
    Instruções passo a passo para habilitar suporte iOS, incluindo configuração de service worker e manifest.
  </Card>

  <Card title="Guia de adicionar à Tela Inicial" icon="mobile" href="./web-push-for-ios#step-4%3A-guide-users-to-%E2%80%9Cadd-to-home-screen%E2%80%9D">
    Dicas para encorajar usuários a instalar seu site para que possam receber web push do iOS.
  </Card>
</Columns>

***

## Projetar notificações web push

Criar notificações push eficazes envolve mais que escrever texto. Aprenda quais elementos são personalizáveis e como usá-los efetivamente.

<Frame caption="Anatomia de notificação web push - personalize elementos 1-6, enquanto 7-9 são controlados pelo navegador">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/dd4f79c-Web_Push_Examples.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=8d72d6952cd50f8c01a49ada61a15456" alt="Annotated diagram showing the anatomy of a web push notification with customizable and browser-controlled elements" width="1937" height="1359" data-path="images/docs/dd4f79c-Web_Push_Examples.png" />
</Frame>

1. [Título](./push#title): Manchete que chama atenção (recomendado: menos de `50` caracteres)
2. [Mensagem](./push#message): Conteúdo principal da notificação (recomendado: menos de `120` caracteres)
3. [Ícone](./notification-icons): Ícone da sua marca ou imagem específica da notificação (recomendado: `256x256px` PNG ou JPG)
4. [Imagem Grande](./push#image): Conteúdo visual que chama atenção
5. [Botões de Ação](./action-buttons): Botões de call-to-action
6. Navegador: O navegador/app exibindo o push
7. Domínio: Origem do seu site definida automaticamente pelo navegador
8. Timestamp & Dismiss: Navegador adiciona estes controles
9. Mais Opções: Controles adicionais específicos do navegador

<Columns cols={2}>
  <Card title="Visão geral de Push" icon="bell" href="./push">
    Visão geral completa de criação de notificação push, opções e comportamento de entrega.
  </Card>

  <Card title="Templates" icon="clone" href="./templates">
    Economize tempo com templates reutilizáveis para mensagens consistentes.
  </Card>
</Columns>

### Personalização e localização de mensagem

Você pode personalizar mensagens push para corresponder às preferências e idioma de cada usuário.

<Columns cols={2}>
  <Card title="Personalização de Mensagem" icon="wand-magic-sparkles" href="./message-personalization">
    Insira variáveis dinâmicas (como nome ou preferências) para adaptar mensagens.
  </Card>

  <Card title="Mensagens Multi-Idioma" icon="language" href="./multi-language-messaging">
    Entregue automaticamente mensagens no idioma preferido de cada usuário.
  </Card>
</Columns>

***

## Configurar comportamento de web push

Controle como suas mensagens push se comportam após envio—quando aparecem, por quanto tempo são armazenadas e como usuários interagem.

### Configurações de entrega, exibição e descarte

<Columns cols={2}>
  <Card title="Throttling" icon="gauge-high" href="./throttling">
    Controle velocidade de entrega de notificação.
  </Card>

  <Card title="Frequency Capping" icon="hand" href="./frequency-capping">
    Defina limites para prevenir envio excessivo de notificações para o mesmo usuário.
  </Card>

  <Card title="Time To Live (TTL)" icon="clock" href="./push#time-to-live-ttl">
    Defina por quanto tempo serviços push retêm mensagens quando o dispositivo está offline.
  </Card>

  <Card title="Web Push Topic" icon="layer-group" href="./push#web-push-topic-web-push">
    Use tópicos para agrupar, substituir ou suprimir notificações duplicadas.
  </Card>
</Columns>

### Comportamento de clique

Controle o que acontece quando um usuário clica em uma notificação.

**Por padrão:** Clicar abre sua página inicial.

**Personalize:**

* Direcione usuários para uma URL específica
* Use rastreamento UTM
* Suprima comportamento padrão com `?_osp=do_not_open`

<Columns cols={2}>
  <Card title="URLs, Links & Deep Linking" icon="link" href="./links">
    Direcione usuários para conteúdo ou páginas relevantes usando deep links e rastreamento.
  </Card>

  <Card title="Botões de ação" icon="hand-pointer" href="./action-buttons">
    Deixe usuários tomarem ações imediatas da sua notificação.
  </Card>

  <Card title="SDK Push Notification Event Listeners" icon="code" href="./web-sdk-reference#push-notifications">
    Escute eventos de clique e acione comportamento in-app com código personalizado.
  </Card>
</Columns>

***

## Teste sua configuração

Antes de lançar, teste completamente sua implementação de web push através de dispositivos e navegadores.

### Checklist pré-lançamento

* SDK está carregado corretamente sem erros
* Prompt de permissão aparece e funciona
* Notificação de teste é enviada e recebida
* Ícones e imagens renderizam corretamente
* Service worker está registrado e atualizado
* Certificado HTTPS é válido

### Analytics de push e solução de problemas

Meça o desempenho de notificações e resolva problemas comuns de entrega:

<Columns cols={2}>
  <Card title="Relatórios de mensagem push" icon="chart-line" href="./push-notification-message-reports">
    Veja métricas de entrega, taxa de abertura e click-through para cada mensagem.
  </Card>

  <Card title="Visão geral de Analytics" icon="chart-bar" href="./analytics-overview">
    Explore métricas de engajamento e comportamento do usuário através de canais.
  </Card>

  <Card title="Notificações não mostradas ou atrasadas" icon="circle-exclamation" href="./notifications-not-shown-web-push">
    Checklist de solução de problemas se mensagens não estão aparecendo.
  </Card>

  <Card title="Imagens de notificação não mostrando" icon="image" href="./notification-images-not-showing">
    Corrija problemas de renderização de imagem através de diferentes navegadores.
  </Card>
</Columns>

***

## Próximos passos

<Columns cols={2}>
  <Card title="Teste A/B" icon="flask" href="./ab-testing">
    Otimize mensagens com experimentos para encontrar o que gera engajamento.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Construa fluxos de mensagens automatizados de múltiplos passos acionados pelo comportamento do usuário.
  </Card>

  <Card title="Tags" icon="tags" href="./add-user-data-tags">
    Adicione dados de nível de usuário para personalização e direcionamento.
  </Card>

  <Card title="Analytics" icon="chart-bar" href="./analytics-overview">
    Rastreie métricas de engajamento e conversão através de canais.
  </Card>
</Columns>

***

## Perguntas frequentes

### Usuários podem se inscrever para web push no iOS?

Sim, começando com iOS 16.4+. Usuários devem primeiro adicionar seu website à Tela Inicial deles, depois conceder permissão de notificação. Veja [Web push para iOS](./web-push-for-ios) para os passos completos de configuração.

### Por que um usuário parou de receber notificações web push?

A causa mais comum é que o usuário limpou seus dados de navegador, o que remove a subscription push. Habilite **Auto Resubscribe** nas suas configurações de web push para reinscrever automaticamente usuários que retornam. Veja [Subscriptions](./subscriptions) para detalhes.

### Notificações web push funcionam no modo Anônimo ou navegação privada?

Não. Usuários não podem se inscrever para web push enquanto estão no modo Anônimo ou navegação privada. Subscriptions criadas em uma sessão normal não são acessíveis no modo privado.

### Quais navegadores suportam notificações web push?

Chrome, Firefox, Safari (macOS e iOS 16.4+) e Edge suportam web push. Cada navegador pode ter comportamento de prompt e exibição de notificação diferente. Veja [FAQ de Web Push](./web-push-setup-faq) para detalhes específicos de cada navegador.

### Posso usar subdomínios com web push?

Cada subdomínio (por exemplo, `app.example.com` vs `shop.example.com`) é uma origem separada. Os navegadores aplicam a [política de mesma origem](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy) para web push, portanto cada subdomínio requer seu próprio app OneSignal. O service worker também deve ser hospedado na mesma origem que a página de inscrição — CDNs e outros subdomínios não são permitidos. Consulte [Múltiplos sites e subdomínios](./web-push-setup-faq#multiple-sites--subdomains) para opções de configuração.

### Como registro mais de um domínio para web push?

Você precisa de um app OneSignal separado para cada domínio ou subdomínio. Um único app OneSignal pode servir apenas uma origem. Para gerenciar vários domínios, redirecione usuários para uma única origem para inscrição ou crie apps OneSignal individuais por origem. Consulte [Múltiplos sites e subdomínios](./web-push-setup-faq#multiple-sites--subdomains) para estratégias detalhadas.

### Por que meu prompt de web push não está aparecendo?

Causas comuns incluem: o site não está sendo servido via HTTPS, o service worker não está registrado corretamente, o usuário já concedeu ou negou permissão, ou o usuário está no modo anônimo. Verifique o console do navegador para erros e veja [Notificações não mostradas](./notifications-not-shown-web-push) para uma lista completa.
