> ## 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 push mobile

> Lista de verificação completa para configurar notificações push mobile com OneSignal em iOS, Android, Huawei e Amazon.

As notificações push reengajam Usuários quando eles não estão usando ativamente seu aplicativo. Elas podem exibir texto e conteúdo rico como imagens, botões e sons.

<Frame caption="Exemplos de notificações push no iOS e Android.">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/d6ba464616e546aaf62a5bda18adb4422d036815db4b2454e8a8b6a4dcf67706-channel-setup-mobile-push.jpg?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=63d1840679897262b47a004375a1bb33" alt="Exemplos de notificações push mobile em iOS e Android mostrando conteúdo rico" width="1280" height="720" data-path="images/docs/d6ba464616e546aaf62a5bda18adb4422d036815db4b2454e8a8b6a4dcf67706-channel-setup-mobile-push.jpg" />
</Frame>

Para push funcionar em mobile:

* Os Usuários devem ter seu aplicativo mobile instalado
* Você deve configurar as credenciais de plataforma corretas (FCM para Android, APNs para iOS, HMS para Huawei, ADM para Amazon)
* Os Usuários devem conceder permissão para receber notificações

Este guia percorre cada passo, desde a configuração do SDK até o envio de mensagens push personalizadas.

***

## Configuração do SDK e migração

Integre o SDK do OneSignal em seu aplicativo para registrar dispositivos e habilitar mensagens push. Se você está migrando de outro provedor, o OneSignal suporta migração do Firebase, Airship, Braze e outros.

<Columns cols={2}>
  <Card title="Configuração do SDK mobile" icon="mobile" href="./mobile-sdk-setup">
    Integre o SDK do OneSignal em seu aplicativo para registrar dispositivos e habilitar mensagens push.
  </Card>

  <Card title="Migração de outro provedor" icon="arrow-right-arrow-left" href="./migrating-to-onesignal">
    Migre do Firebase, Airship, Braze ou outros provedores de push.
  </Card>
</Columns>

***

## Prompts de permissão push

Plataformas mobile exigem que os Usuários optem por receber notificações push antes de poder recebê-las. As [Diretrizes de Interface Humana](https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/notifications) da Apple recomendam descrever os tipos de informação que você deseja enviar e dar aos Usuários uma maneira clara de aceitar ou recusar.

Você pode criar um prompt de pré-permissão usando as mensagens in-app do OneSignal para explicar o valor antes de acionar o prompt do sistema.

<Frame caption="Prompt de push de pré-permissão personalizado criado com mensagens in-app.">
  <img src="https://mintcdn.com/onesignal/l4Z9oMlZl9nJOS_T/images/push/mobile-push-setup-ask-users-for-permission-to-send-push.jpg?fit=max&auto=format&n=l4Z9oMlZl9nJOS_T&q=85&s=aa31e67179d80c4b99c2d86102091d60" alt="Mensagem in-app do OneSignal usada como prompt de pré-permissão para notificações push" width="2136" height="1338" data-path="images/push/mobile-push-setup-ask-users-for-permission-to-send-push.jpg" />
</Frame>

<Columns cols={2}>
  <Card title="Prompt para permissões push" icon="bell" href="./prompt-for-push-permissions">
    Crie um prompt de pré-permissão personalizado usando mensagens in-app.
  </Card>

  <Card title="Referência do SDK mobile" icon="code" href="./mobile-sdk-reference">
    Acione solicitações de permissão programaticamente no SDK.
  </Card>

  <Card title="Push provisório do iOS" icon="apple" href="./ios-provisional-push-notifications">
    Mostre notificações silenciosas no centro de notificações antes de solicitar.
  </Card>
</Columns>

***

## Usuários e Assinaturas

Uma vez que o SDK está ativo, o OneSignal cria automaticamente registros de Usuário e Assinatura à medida que as pessoas abrem seu aplicativo.

As Assinaturas mobile são criadas quando os Usuários:

* Abrem o aplicativo pela primeira vez em um dispositivo
* Desinstalam e reinstalam o aplicativo, depois abrem o aplicativo novamente

Cada dispositivo cria uma Assinatura separada. As Assinaturas permanecem anônimas até que você atribua a elas um [External ID](./users#external-id) via `OneSignal.login`.

<Frame caption="Painel OneSignal: Audience > Usuários">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/dashboard/users-page.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=8992ef97cf3c9f336078f9dbf8a6374e" alt="Página de Usuários do painel OneSignal mostrando uma lista de Usuários com detalhes de Assinatura" width="2316" height="858" data-path="images/dashboard/users-page.png" />
</Frame>

<Columns cols={2}>
  <Card title="Usuários" icon="users" href="./users">
    Gerencie Usuários, atribua External IDs e entenda Usuários anônimos vs. identificados.
  </Card>

  <Card title="Assinaturas" icon="address-book" href="./subscriptions">
    Como as Assinaturas são criadas e gerenciadas em dispositivos e canais.
  </Card>

  <Card title="Segmentos" icon="chart-pie" href="./segmentation">
    Agrupe Usuários em segmentos dinâmicos para mensagens direcionadas.
  </Card>
</Columns>

***

## Projetar notificações push

Criar notificações push eficazes envolve mais do que escrever texto. Assista como fazer cada notificação push valer a pena e depois explore os elementos de design abaixo.

<Frame caption="Como fazer cada notificação push valer a pena">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/mlXEsZA2qlM?si=tIstWJYNFOzrtMR5" 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>

<Frame caption="Anatomia de uma notificação push mobile no iOS e Android.">
  <img src="https://mintcdn.com/onesignal/l4Z9oMlZl9nJOS_T/images/push/ios-and-android-mobile-push-expanded.jpg?fit=max&auto=format&n=l4Z9oMlZl9nJOS_T&q=85&s=5f0a3048b1b945ce1c960807992e4c74" alt="Diagrama anotado mostrando a anatomia das notificações push do iOS e Android" width="1467" height="726" data-path="images/push/ios-and-android-mobile-push-expanded.jpg" />
</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. [Ícones](./notification-icons): Ícone da sua marca ou imagem específica da notificação
4. [Imagem grande](./push#image): Conteúdo visual atraente
5. [Botões de ação](./action-buttons): Botões de call-to-action
6. Timestamp de quando o push foi recebido
7. [Nome do app](./push#app-name): O nome do seu aplicativo

<Columns cols={2}>
  <Card title="Visão geral de push" icon="bell" href="./push">
    Visão geral completa da criação de notificações 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

Assista como transformar notificações push genéricas em mensagens de alto desempenho e depois explore as opções de personalização abaixo.

<Frame caption="Como transformar notificações push genéricas em mensagens de alto desempenho">
  <iframe width="560" height="315" src="https://www.youtube.com/embed/Rf6N_rezxuk?si=8t2pd1bxKeN5ofq-" 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>

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

  <Card title="Mensagens em múltiplos idiomas" icon="language" href="./multi-language-messaging">
    Entregue automaticamente mensagens no idioma preferido de cada Usuário.
  </Card>
</Columns>

***

## Configurar comportamento push

Controle como as notificações se comportam após a entrega, incluindo timing, configurações de exibição e interações do Usuário.

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

<Columns cols={2}>
  <Card title="Throttling" icon="gauge-high" href="./throttling">
    Controle a velocidade de entrega de notificações para grandes audiências.
  </Card>

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

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

  <Card title="Collapse ID" icon="layer-group" href="./push#collapse-id-mobile-push">
    Substitua mensagens anteriores por novas para reduzir o excesso de notificações.
  </Card>

  <Card title="Categorias de notificação do Android" icon="android" href="./android-notification-categories">
    Controle o nível de importância (banner, silencioso) e outros aspectos de exibição.
  </Card>

  <Card title="Modos de foco e níveis de interrupção do iOS" icon="apple" href="./ios-focus-modes-and-interruption-levels">
    Controle o nível de prioridade (passivo, sensível ao tempo) para iOS.
  </Card>

  <Card title="Sons de notificação" icon="volume-high" href="./notification-sounds">
    Configure o áudio de notificação para cada plataforma.
  </Card>

  <Card title="Badges" icon="circle-1" href="./badges">
    Gerencie o comportamento do contador de badge do ícone do aplicativo no iOS.
  </Card>
</Columns>

### Notificações de dados e em segundo plano

Inclua dados personalizados nos payloads push que seu aplicativo pode processar sem exibir uma notificação visível.

<Columns cols={2}>
  <Card title="Notificações de dados e em segundo plano" icon="database" href="./data-notifications">
    Envie payloads personalizados sem uma notificação visual.
  </Card>

  <Card title="Dados adicionais" icon="brackets-curly" href="./push#additional-data">
    Anexe dados chave-valor aos payloads push para processamento in-app.
  </Card>
</Columns>

### Comportamento de clique e deep linking

Controle o que acontece quando um Usuário toca em uma notificação.

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

  <Card title="Deep linking" icon="arrow-up-right-from-square" href="./deep-linking">
    Detalhes de implementação de deep linking específicos por plataforma.
  </Card>

  <Card title="Botões de ação" icon="hand-pointer" href="./action-buttons">
    Permita que os Usuários tomem ações imediatas a partir de sua notificação.
  </Card>

  <Card title="Observadores de eventos de notificação" icon="code" href="./mobile-sdk-reference#push-notification-events">
    Ouça eventos de clique e acione comportamento in-app com código personalizado.
  </Card>
</Columns>

***

## Análises e solução de problemas

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

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

  <Card title="Visão geral de análises" icon="chart-bar" href="./analytics-overview">
    Explore métricas de engajamento e comportamento do Usuário em todos os canais.
  </Card>

  <Card title="Notificações não exibidas ou atrasadas" icon="circle-exclamation" href="./notifications-show-successful-but-are-not-being-shown">
    Checklist de solução de problemas se as mensagens não estão aparecendo nos dispositivos.
  </Card>

  <Card title="Imagens de notificação não aparecem" icon="image" href="./notification-images-not-showing">
    Corrija problemas de renderização de imagem em todas as plataformas.
  </Card>

  <Card title="Notificações duplicadas" icon="copy" href="./duplicated-notifications">
    Solucione por que notificações duplicadas estão sendo exibidas.
  </Card>
</Columns>

***

## Próximos passos

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

  <Card title="Jornadas" icon="route" href="./journeys-overview">
    Crie fluxos de mensagens automatizados de várias etapas 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="Mensagens in-app" icon="window-maximize" href="./in-app-messages-setup">
    Alcance Usuários com mensagens ricas e interativas dentro do seu aplicativo.
  </Card>
</Columns>

***

## Perguntas frequentes

### Os Usuários precisam optar por receber notificações push?

Sim. Tanto iOS quanto Android exigem que os Usuários concedam permissão antes de poder receber notificações push. No iOS, você deve exibir o prompt do sistema. No Android 13+, a permissão `POST_NOTIFICATIONS` é necessária. Use um [prompt de pré-permissão](./prompt-for-push-permissions) para explicar o valor antes de acionar a caixa de diálogo do sistema.

### O que são FCM, APNs, HMS e ADM?

São serviços de entrega push específicos de cada plataforma. **FCM** (Firebase Cloud Messaging) entrega para Android e web. **APNs** (Apple Push Notification service) entrega para iOS e macOS. **HMS** (Huawei Mobile Services) entrega para dispositivos Huawei. **ADM** (Amazon Device Messaging) entrega para dispositivos Amazon Fire. Você configura as credenciais para cada um no painel do OneSignal durante a [configuração do SDK](./mobile-sdk-setup).

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

As causas comuns incluem credenciais de plataforma ausentes ou expiradas, Usuários que não concederam permissão, ou configurações no nível do dispositivo como Não Perturbe ou Modos de Foco. Consulte [Notificações não exibidas ou atrasadas](./notifications-show-successful-but-are-not-being-shown) para uma lista de verificação completa de solução de problemas.

### Posso enviar notificações push sem uma notificação visível?

Sim. Use [notificações de dados e em segundo plano](./data-notifications) para enviar payloads personalizados que seu aplicativo processa silenciosamente. Eles são úteis para acionar sincronizações em segundo plano, atualizar dados locais ou atualizar conteúdo sem interromper o Usuário.
