> ## 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.

# Visão geral do Push

> Envie e gerencie notificações push móveis e web com OneSignal pelo painel ou API, com segmentação, personalização e agendamento.

Notificações push reengajam usuários com conteúdo oportuno e personalizado em todos os dispositivos — mesmo quando não estão usando ativamente seu aplicativo ou site.

Veja como as notificações push geram o maior engajamento, ou pule direto para começar.

<Frame caption="Por que notificações push geram o maior engajamento">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/atjjj4BQqfc?si=PP-XrMF8ttXkXkuQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

O OneSignal fornece uma plataforma completa para gerenciar notificações push em dispositivos móveis, web e desktop:

* **Enviar campanhas e mensagens transacionais** do [Dashboard](#send-push-notifications) ou [API](/reference/create-message)
* **Automatizar fluxos multicanal** com [Jornadas](./journeys-overview)
* **Segmentar usuários com precisão** usando [Segmentos](./segmentation), filtros ou dados do usuário
* **[Testar A/B](./ab-testing) e otimizar** o desempenho das mensagens
* **Personalizar conteúdo** com atributos do usuário e [conteúdo dinâmico](./message-personalization)
* **Integrar com seu stack** — HubSpot, Mixpanel, Amplitude, Zapier e [mais](./integrations)

***

## Configuração Push

Antes de enviar notificações push, conclua a configuração da plataforma, configure os prompts de permissão e habilite os recursos necessários.

### Guias de configuração de plataforma

<Columns cols={2}>
  <Card title="Configuração de push móvel" icon="mobile" href="./mobile-push-setup">
    Configuração completa para notificações push iOS, Android, Huawei e Amazon.
  </Card>

  <Card title="Configuração de push web" icon="globe" href="./web-push-setup">
    Habilite push para Chrome, Firefox, Safari e Edge.
  </Card>

  <Card title="Configuração do SDK Móvel" icon="code" href="./mobile-sdk-setup">
    Integre o SDK OneSignal no seu aplicativo móvel.
  </Card>

  <Card title="Configuração do SDK Web" icon="browsers" href="./web-sdk-setup">
    Integre o SDK OneSignal no seu site.
  </Card>

  <Card title="Migrar para o OneSignal" icon="arrow-right-arrow-left" href="./migrating-to-onesignal">
    Etapas de migração do Firebase, Airship, Braze e outros provedores.
  </Card>

  <Card title="Suporte a aplicativos macOS" icon="desktop" href="./macos-app-setup">
    Configure o OneSignal para aplicativos macOS.
  </Card>

  <Card title="Suporte a aplicativos Windows" icon="desktop" href="./windows-app-setup">
    Configure o OneSignal para aplicativos desktop Windows.
  </Card>

  <Card title="Suporte a watchOS e Wear OS" icon="clock" href="./watchos-and-wear-os-support">
    Adicione o OneSignal a dispositivos Apple Watch e Wear OS.
  </Card>
</Columns>

### Permissões

Uma experiência de opt-in bem projetada maximiza sua audiência push.

<Columns cols={2}>
  <Card title="Prompts de push móvel" icon="bell" href="./prompt-for-push-permissions">
    Crie prompts de pré-permissão e melhores práticas para aplicativos móveis.
  </Card>

  <Card title="Prompts de push web" icon="bell-on" href="./permission-requests">
    Personalize o tempo e a mensagem do prompt para push web.
  </Card>

  <Card title="Push Provisório iOS" icon="apple" href="./ios-provisional-push-notifications">
    Entregue notificações silenciosas ao centro de notificações antes de solicitar permissão completa.
  </Card>

  <Card title="Categorias de Notificação Android" icon="android" href="./android-notification-categories">
    Permita que usuários Android personalizem como recebem notificações do seu aplicativo.
  </Card>
</Columns>

### Recursos e casos de uso avançados

<Columns cols={2}>
  <Card title="Personalização de Mensagens" icon="wand-magic-sparkles" href="./message-personalization">
    Adicione conteúdo dinâmico para personalizar mensagens para cada usuário.
  </Card>

  <Card title="Mensagens Multilíngues" icon="language" href="./multi-language-messaging">
    Envie notificações push no idioma preferido de cada usuário.
  </Card>

  <Card title="Limitação de Taxa" icon="gauge-high" href="./throttling">
    Controle a velocidade de entrega de notificações para grandes audiências.
  </Card>

  <Card title="Limitação de Frequência" icon="hand" href="./frequency-capping">
    Limite o número de notificações push por usuário.
  </Card>

  <Card title="Notificações de dados e em segundo plano" icon="database" href="./data-notifications">
    Envie notificações somente de dados para tarefas em segundo plano.
  </Card>

  <Card title="Notificações VoIP" icon="phone" href="./voip-notifications">
    Envie notificações push específicas para VoIP em aplicativos de chamadas.
  </Card>
</Columns>

***

## Enviar notificações push

Você pode enviar mensagens de várias formas. A melhor opção depende dos seus casos de uso.

<Columns cols={2}>
  <Card title="Painel" icon="window-maximize" href="#send-from-the-dashboard">
    Componha uma mensagem rapidamente pelo painel.
  </Card>

  <Card title="Enviar via API" icon="code" href="/reference/create-message">
    Envie mensagens programaticamente usando a REST API.
  </Card>

  <Card title="Jornadas" icon="route" href="./journeys-overview">
    Crie fluxos automatizados de múltiplas etapas e multicanal.
  </Card>

  <Card title="A/B Testing" icon="flask" href="./ab-testing">
    Teste até 10 variantes de mensagem para otimizar o desempenho.
  </Card>
</Columns>

### Enviar pelo painel

<Steps>
  <Step title="Selecionar o canal de mensagem" icon="window-maximize">
    Selecione **Criar...** e escolha seu canal de mensagem. Você também pode navegar para **Mensagens** ou **Modelos** para ver mensagens anteriores.

    <Frame caption="Crie uma nova mensagem no painel do OneSignal.">
      <img src="https://mintcdn.com/onesignal/UDk6E5NjA3sdGdRN/images/dashboard/create-message.png?fit=max&auto=format&n=UDk6E5NjA3sdGdRN&q=85&s=97504cf71555ac4aeb263a36ad2d28b3" alt="Painel do OneSignal mostrando as opções de criar mensagem" width="2128" height="1374" data-path="images/dashboard/create-message.png" />
    </Frame>
  </Step>

  <Step title="Escolher um método de composição" icon="pencil">
    * Comece do zero ou use o [compositor de mensagem com IA](./ai-message-composer).
    * Use um [modelo](./templates) pré-construído
  </Step>

  <Step title="Definir um nome e rótulo" icon="tag">
    Adicione metadados internos para rastreamento e relatórios. Equivalente na API: `name`
  </Step>

  <Step title="Selecionar sua audiência" icon="users">
    Escolha quais usuários recebem a mensagem. Você pode incluir e excluir [segmentos](./segmentation) para segmentar grupos específicos. Padrão para todos os "Subscribed Users" se nenhum segmento for definido.

    <Frame caption="Seleção de nome, rótulo e segmento de audiência no painel.">
      <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/message-name-label-audience.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=1f41b0e42d31211b1c1badf87ba84056" alt="Campos do painel para nome, rótulo e seleção de segmento de audiência" width="1650" height="518" data-path="images/dashboard/message-name-label-audience.png" />
    </Frame>

    | Método de segmentação                                  | Painel | API |
    | ------------------------------------------------------ | :----: | :-: |
    | [**Segmentos**](./segmentation)                        |   Sim  | Sim |
    | **Filtros** ([Somente API](/reference/create-message)) |   Não  | Sim |
    | **Aliases** ([Somente API](/reference/create-message)) |   Não  | Sim |
  </Step>
</Steps>

### Agendamento de entrega e otimização

Veja como o timing impacta o desempenho das notificações push.

<Frame caption="O tempo é tudo: Como enviar notificações push que geram ação">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/pRTbUuvYsWY?si=uqL5wSK_vXH6VwMJ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />
</Frame>

Escolha quando a mensagem deve começar a ser enviada.

| Opção                    | Descrição                                                     | Campo API    |
| ------------------------ | ------------------------------------------------------------- | ------------ |
| **Enviar imediatamente** | Entregar a todos os destinatários agora.                      | —            |
| **Agendado**             | Enviar em um horário específico, até 30 dias de antecedência. | `send_after` |

**Otimização por usuário:**

Defina quando os usuários devem receber a mensagem.

| Opção                                                   | Descrição                                                                                 | Campo API                                          |
| ------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -------------------------------------------------- |
| **Todos ao mesmo tempo**                                | Todos os destinatários recebem a mensagem ao mesmo tempo. Melhor para mensagens urgentes. | —                                                  |
| **Entrega inteligente**                                 | Envia no momento ideal para cada usuário com base em sua atividade de sessão.             | `delayed_option: last-active`                      |
| **Horário personalizado por fuso horário**              | Envia em um horário local definido no fuso horário de cada usuário.                       | `delayed_option: timezone`, `delivery_time_of_day` |
| **Substituir [Throttling](./throttling)**               | Alterar a taxa de throttling.                                                             | `throttle_rate_per_minute`                         |
| **Substituir [Frequency Capping](./frequency-capping)** | Desativar o frequency capping para esta mensagem.                                         | `enable_frequency_cap`                             |

### Propriedades de design

Mensagens push podem exibir conteúdo voltado ao usuário ou executar operações em segundo plano.

* **Notificações de exibição**: Requerem uma [mensagem](#message) e podem incluir um título, imagem, botões de ação e outros elementos visuais.
* **Notificações de segundo plano/somente dados**: Omitem a mensagem, incluem [content\_available](./data-notifications) e opcionalmente [dados adicionais](#additional-data).

<Frame caption="1: Título, 2: Mensagem, 3: Ícone, 4: Imagem, 5: Botões de ação, 6: Nome do aplicativo ou navegador, 7: Timestamp recebido">
  <img src="https://mintcdn.com/onesignal/l4Z9oMlZl9nJOS_T/images/push/web-and-mobile-push-notifications-anatomy.jpg?fit=max&auto=format&n=l4Z9oMlZl9nJOS_T&q=85&s=abd46b4656559360cc713cfa98f138fe" alt="Diagrama anotado mostrando a anatomia das notificações push web e móveis" width="1468" height="2302" data-path="images/push/web-and-mobile-push-notifications-anatomy.jpg" />
</Frame>

<Tip>
  Use o [Compositor de Mensagem com IA](./ai-message-composer) para gerar rapidamente títulos e texto do corpo de notificações. Ajuste o tom e o conteúdo para corresponder à sua marca em apenas alguns cliques.
</Tip>

#### Título

Texto personalizável superior da notificação. A aparência do texto é controlada pelo sistema operacional.

* Obrigatório para **web push** e **Huawei**
* Padrão para nome do site na web se não definido
* Limite recomendado: 25–50 caracteres (móvel), 60–80 (web)
* Suporta: [Compositor de mensagem com IA](./ai-message-composer), emojis, [personalização de mensagem](./message-personalization), [mensagens multi-idioma](./multi-language-messaging)
* API: `headings`

#### Subtítulo

Texto secundário suportado apenas no iOS e macOS (via APNs). Não disponível no Android ou web.

* Limite recomendado: 25–50 caracteres
* Suporta: emojis, [personalização de mensagem](./message-personalization), [mensagens multi-idioma](./multi-language-messaging)
* API: `subtitle`

#### Mensagem

Conteúdo principal da notificação. Não suporta fontes personalizadas ou estilos. O estilo é definido pelo sistema operacional.

* Obrigatório a menos que envie notificação em segundo plano
* Suporta: [Compositor de mensagem com IA](./ai-message-composer), emojis, [personalização de mensagem](./message-personalization), [mensagens multi-idioma](./multi-language-messaging)
* Limite recomendado: \~150 caracteres
* API: `contents`

#### Ícones

Personalize ícones pequenos e grandes no Android e web. iOS sempre usa o ícone do aplicativo.

* Consulte [Ícones de notificação](./notification-icons)

#### Imagem

Adicione uma imagem grande às notificações no Android, iOS e Chrome para Windows/Android.

* Tamanho recomendado: `1024×512px` (proporção 2:1)
* Tamanho máximo: 1 MB, largura máxima: 2000 px
* Não suportado no Safari (macOS/iOS) ou Centro de Notificações do macOS
* A imagem deve ser tocada ou expandida no móvel para visualizar
* Formatos suportados: `PNG`, `JPG`, `GIF` (animado apenas no iOS)
* API: `ios_attachments` (iOS), `big_picture` (Android), `chrome_web_image` (Chrome web)
* Consulte [Imagens e Mídia Avançada](./rich-media)

#### Nome do aplicativo

O nome do aplicativo que exibe a notificação.

* **iOS**: Definido no Xcode em *Display Name*; requer reinicialização do dispositivo para atualizar
* **Android/Amazon/Huawei**: Definido em `AndroidManifest.xml` em `<application android:label="YOUR APP NAME">`
* **Web**: Mostra o nome do site e/ou navegador

### Propriedades de recursos

#### Botões de Ação

Adicione botões interativos à notificação push.

* Suportado no Android 4.1+ e iOS 8.0+
* Consulte [Botões de ação](./action-buttons)

#### Launch URL

Controle para onde os usuários vão ao tocar na notificação.

* API: `url` (URL universal única), `app_url` (deep link, por exemplo, `your-app://screen`), `web_url` (link web http/https)
* Consulte [URLs, Links e Deep Links](./links)

#### Badges

Mostre pontos ou números de badge em ícones de aplicativo.

* **iOS**: Badge numérico vermelho; pode definir, incrementar ou limpar. API: `ios_badgeType`, `ios_badgeCount`
* **Android**: Requer [categorias de notificação](./android-notification-categories)
* **Huawei**: Badge exibido como número ou ponto. API: `huawei_badge_class`, `huawei_badge_set_num`, `huawei_badge_add_num`
* **Web (Chrome/Android)**: Ícone mostrado na barra de status do Android; deve ser um PNG alfa 72×72. API: `chrome_web_badge`
* Consulte [Badges](./badges)

#### Som

Reproduza um som quando o push for entregue.

* **iOS**: Definir com `sound`
* **Android**: Definir via [categorias de notificação](./android-notification-categories)
* **Web**: Não disponível

#### Dados adicionais

Adicione pares chave-valor personalizados ao payload para manipulação do SDK.

* Usado por [extensões de serviço móvel](./service-extensions) e listeners de clique no [SDK móvel](./mobile-sdk-reference) e [SDK web](./web-sdk-reference)
* O Dashboard suporta apenas dados chave-valor simples; use a API com `data` para enviar JSON aninhado
* Tamanho total máximo do payload: \~4KB; campo `data`: até 2048 bytes
* Consulte [Referência de payload de notificação](./osnotification-payload)

#### Collapse ID (push móvel)

Substitua notificações anteriores por uma mais recente se compartilharem o mesmo `collapse_id`. Comprimento máximo: 64 caracteres. API: `collapse_id`

Por exemplo, um aplicativo meteorológico envia três alertas. Se o usuário abrir o dispositivo após os três, apenas a última mensagem é exibida.

#### Web push topic (push web)

Evite substituir notificações antigas na web usando valores únicos de `web_push_topic`. Notificações com tópicos diferentes permanecem visíveis independentemente. Comprimento máximo: 64 caracteres. API: `web_push_topic`

#### Prioridade

Defina a urgência do push, especialmente em modos de economia de bateria.

* **High** (recomendado): Mensagens imediatas, baseadas em alerta
* **Normal**: Usado para notificações de segundo plano/dados
* API: `priority`
* Docs da plataforma: [Prioridade APNs](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns), [Prioridade FCM](https://firebase.google.com/docs/cloud-messaging/android/message-priority)

#### Tempo de vida (TTL)

Por quanto tempo manter uma mensagem se o dispositivo estiver offline. Padrão: 3 dias. Intervalo: 0–2.419.200 segundos (28 dias). API: `ttl`

Se um usuário estiver offline e o TTL expirar, a mensagem será descartada. Defina `ttl: 0` para mensagens que nunca devem ser entregues com atraso.

<Note>
  **Limitação do iOS**: APNs armazena apenas a notificação **mais recente** enquanto offline. As anteriores são descartadas. [Saiba mais](https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html#//apple_ref/doc/uid/TP40008194-CH8-SW5).
</Note>

#### Agrupamento de notificações

Android e iOS agruparão notificações automaticamente após o dispositivo receber 4 ou mais do seu aplicativo.

* **iOS**: Use `thread_id` na API para agrupar mensagens juntas.
* **Android**: Use `android_group` na API, ou defina a "Group Key" no painel. Para personalização avançada, consulte o [Android NotificationExtenderService](./service-extensions#android-notification-extender-service) e o [Guia de Notificação de Grupo do Android](https://developer.android.com/training/notify-user/group).

<Frame caption="Notificações agrupadas no Android.">
  <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/GnEw4PmmSVWWfgX5Uc3W_stacked_notification.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=cee04b5675b291562d92add259bc2224" alt="Dispositivo Android mostrando notificações push agrupadas do mesmo aplicativo" width="900" height="460" data-path="images/docs/GnEw4PmmSVWWfgX5Uc3W_stacked_notification.png" />
</Frame>

***

## Cancelar notificações push

Cancele uma mensagem se ela ainda não foi **Entregue**. O OneSignal para de enviar a mensagem para todas as assinaturas não adicionadas à fila. Isso não remove a mensagem de dispositivos que já a receberam.

No [Relatório de Mensagem](./push-notification-message-reports), selecione **Actions > Cancel**, ou use a [API Cancel Message](/reference/cancel-message).

### Remover uma notificação push de um dispositivo

Uma vez entregue, você só pode substituir uma notificação push se definir um [Collapse ID](#collapse-id-mobile-push) ou [Web push topic](#web-push-topic-web-push). Sem um desses, a notificação não pode ser substituída ou removida.

***

## Analytics

Rastreie o desempenho das mensagens e o engajamento.

<Columns cols={2}>
  <Card title="Relatórios de mensagens push" icon="chart-line" href="./push-notification-message-reports">
    Relatórios de taxa de entrega, taxa de abertura e cliques no nível da mensagem.
  </Card>

  <Card title="Visão geral de Analytics" icon="chart-bar" href="./analytics-overview">
    Todas as opções de analytics disponíveis no OneSignal.
  </Card>

  <Card title="Fluxos de Eventos" icon="signal-stream" href="./event-streams">
    Transmita eventos push para seu data warehouse ou ferramentas de BI em tempo real.
  </Card>

  <Card title="API de visualização de mensagens" icon="code" href="/reference/view-messages">
    Obtenha análises de mensagens programaticamente via REST API.
  </Card>
</Columns>

***

## Perguntas frequentes

### Quais plataformas o push do OneSignal suporta?

O OneSignal suporta push no iOS (APNs), Android (FCM), Huawei (HMS), Amazon (ADM), navegadores web (Chrome, Firefox, Safari, Edge), macOS e Windows. Consulte os [guias de configuração de plataforma](#platform-setup-guides) acima.

### Como testar notificações push antes de enviar aos usuários?

Configure [assinaturas de teste](./test-users) para verificar entrega, renderização e deep links sem afetar usuários reais. Você também pode enviar para um segmento de usuário único para testes rápidos.

### Por que minhas notificações push não estão aparecendo?

Causas comuns incluem credenciais de plataforma ausentes ou expiradas, usuários que não concederam permissão, ou configurações de nível de dispositivo como Não Perturbe. Consulte [Notificações não mostradas ou com atraso](./notifications-show-successful-but-are-not-being-shown) para uma lista de verificação completa de solução de problemas.

### Qual é o tamanho máximo do payload de notificação push?

O tamanho total do payload é de aproximadamente 4 KB em todas as plataformas. O campo `data` suporta até 2048 bytes. Exceder esses limites pode fazer com que as notificações sejam truncadas ou rejeitadas.
