> ## 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 de mensagens no aplicativo

> Comece com mensagens no aplicativo do OneSignal: como configurar, projetar, acionar e testar campanhas no aplicativo para engajar seus usuários mobile de forma eficaz.

<Frame caption="Exemplos de mensagem no aplicativo">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/iam_marketing.jpg?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=4e09e43dc57956f4c33ad761f403aea5" width="1280" height="720" data-path="images/iam/iam_marketing.jpg" />
</Frame>

Mensagens no aplicativo (IAM) são mensagens customizáveis e direcionadas que são exibidas dentro do seu aplicativo mobile. Elas permitem que você:

* Solicite ação do usuário como assinar notificações push ou atualizar sua localização.
* Promova recursos novos ou subutilizados para usuários segmentados.
* Exiba anúncios e notícias em tempo real sem lançar uma atualização do aplicativo.
* Crie pesquisas e carrosséis.
* Ajude com conteúdo de onboarding e educacional.

***

## Configuração no app

Você deve ter o OneSignal SDK instalado no seu aplicativo para usar mensagens no aplicativo. Uma vez completo, você pode criar e enviar mensagens no aplicativo do painel do OneSignal sem escrever nenhum código. Nosso SDK também possui métodos para casos de uso avançados como:

* Acionar a mensagem em momentos específicos
* Manipulação de cliques e deep linking
* Pausar a mensagem
* Gerenciamento de ciclo de vida e muito mais!

<Columns cols={2}>
  <Card title="Configuração do Mobile SDK" href="./mobile-sdk-setup" arrow={true}>
    Adicione o OneSignal ao código base do seu aplicativo mobile.
  </Card>

  <Card title="Métodos SDK de mensagens no aplicativo" href="./mobile-sdk-reference#in-app-messages" arrow={true}>
    Desenvolvedores: Acesse gatilhos, manipuladores de clique e APIs de ciclo de vida.
  </Card>

  <Card title="Gatilhos de mensagens no aplicativo" href="./iam-triggers" arrow={true}>
    Controle quando as mensagens aparecem com base no comportamento do usuário ou atividade do aplicativo.
  </Card>

  <Card title="Ações de clique em mensagens no aplicativo" href="./iam-click-actions" arrow={true}>
    Defina o que acontece quando os usuários interagem com sua mensagem.
  </Card>
</Columns>

***

## Enviar mensagens no aplicativo

Você pode enviar mensagens no aplicativo do painel do OneSignal e dentro de Journeys.

<Frame>
  <iframe width="560" height="315" src="https://www.youtube.com/embed/TSkqp4e-ya0?si=vbNStROmopkSWxWd" 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="Dashboard" icon="window-maximize" href="#send-from-the-dashboard">
    Crie e envie mensagens in-app pelo dashboard do OneSignal.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Crie fluxos automatizados, de várias etapas e multicanais.
  </Card>
</Columns>

### Enviar pelo dashboard

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

    <Frame caption="Criar uma nova mensagem no dashboard 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="OneSignal dashboard showing create message options" width="2128" height="1374" data-path="images/dashboard/create-message.png" />
    </Frame>
  </Step>

  <Step title="Escolha um método de composição" icon="pencil">
    * Comece do zero com o [Editor de blocos](./design-your-in-app-message) ou o [Editor HTML](./design-your-in-app-message-with-html)
    * Use um [modelo](./templates) pré-construído
  </Step>

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

  <Step title="Selecione seu público" icon="users">
    Escolha quais usuários recebem a mensagem. Você pode incluir e excluir [segmentos](./segmentation) para segmentar grupos específicos. O padrão é todos os "Usuários inscritos" se nenhum segmento for definido.

    <Frame caption="Seleção de nome, rótulo e segmento de público no dashboard.">
      <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="Dashboard fields for message name, label, and audience segment selection" width="1650" height="518" data-path="images/dashboard/message-name-label-audience.png" />
    </Frame>

    <Note>
      As mensagens in-app são entregues a todas as [assinaturas móveis](./subscriptions) no segmento, independentemente do status de opt-in de push. No entanto, se sua mensagem contiver uma [ação de clique](#click-actions) de solicitação de push, ela não será exibida para assinaturas móveis já inscritas (com opt-in).
    </Note>
  </Step>
</Steps>

### Design da mensagem

Use nosso editor visual de arrastar e soltar ou nosso editor HTML para mais controle.

<Frame caption="Tela de edição">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b7df349-Screenshot_2022-12-10_at_12.52.59_PM.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=4930228c3107db798dadc1bf69b4b0d6" width="2134" height="1736" data-path="images/docs/b7df349-Screenshot_2022-12-10_at_12.52.59_PM.png" />
</Frame>

<Columns cols={2}>
  <Card title="Projete com arrastar e soltar" href="./design-your-in-app-message" arrow={true}>
    Use nosso editor visual para construir mensagens rapidamente.
  </Card>

  <Card title="Projete com HTML" href="./design-your-in-app-message-with-html" arrow={true}>
    Controle total para desenvolvedores personalizarem mensagens.
  </Card>

  <Card title="Templates HTML pré-construídos" href="./in-app-html-templates" arrow={true}>
    Comece com layouts e campanhas testados.
  </Card>

  <Card title="APIs JavaScript de mensagens no aplicativo para HTML" href="./in-app-message-api" arrow={true}>
    Adicione ações de clique do OneSignal às suas mensagens HTML.
  </Card>

  <Card title="Personalização de mensagem" href="./message-personalization" arrow={true}>
    Adicione conteúdo dinâmico para personalizar mensagens para cada usuário.
  </Card>

  <Card title="Mensagens em múltiplos idiomas" href="./multi-language-messaging" arrow={true}>
    Localize seu conteúdo para públicos globais.
  </Card>
</Columns>

### Ações de clique

Personalize o que acontece quando os usuários clicam em elementos na sua mensagem.

<Frame caption="Opções de ação de clique">
  <img src="https://mintcdn.com/onesignal/yt4lRKoquAlWvRvF/images/iam/click_action_dropdown.png?fit=max&auto=format&n=yt4lRKoquAlWvRvF&q=85&s=4edea63fce3704ec2c343eacfc77f248" width="518" height="525" data-path="images/iam/click_action_dropdown.png" />
</Frame>

<Columns cols={2}>
  <Card title="Ações de clique" href="./iam-click-actions" arrow={true}>
    Personalize o que acontece quando os usuários clicam em elementos na sua mensagem.
  </Card>

  <Card title="Event Streams" href="./event-streams" arrow={true}>
    Rastreie interações com a mensagem.
  </Card>

  <Card title="Manipulador de clique do SDK" href="./mobile-sdk-reference#addclicklistener-in-app" arrow={true}>
    Reaja a eventos de clique com nosso mobile SDK.
  </Card>

  <Card title="Deep Linking" href="./deep-linking" arrow={true}>
    Navegue usuários ao clicar.
  </Card>
</Columns>

### Gatilhos

Defina quando as mensagens devem aparecer durante as sessões do aplicativo.

<Frame caption="Configuração de gatilho">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5578ae6-image.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=d70aa26e6fa87244d4fa8f4527d9b449" width="1766" height="884" data-path="images/docs/5578ae6-image.png" />
</Frame>

Quatro tipos de gatilho:

<Columns col={2}>
  <Card title="Ao abrir o aplicativo">
    Acionar quando o usuário abre o aplicativo.
  </Card>

  <Card title="Duração da sessão">
    Atraso de X segundos após abrir o aplicativo.
  </Card>

  <Card title="Desde a última mensagem">
    Atraso de X tempo após a última mensagem no aplicativo.
  </Card>

  <Card title="Gatilhos personalizados" href="./iam-triggers" arrow={true}>
    Controlado via SDK `addTrigger(s)`.
  </Card>
</Columns>

#### Quando esta mensagem deve ser dispensada?

As mensagens podem ser dispensadas:

* Com interação do usuário (clique, deslize)
* Após um tempo definido (auto-dispensar)

<Frame caption="Auto-dispensar após 90 segundos">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8dcc001876557819348b804906ed63aee17d83bce300e63e91cc11c54eface2f-Screenshot_2025-04-08_at_2.00.07_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=59d61042bc7d3e1855e4c90f9a83e562" width="1342" height="530" data-path="images/docs/8dcc001876557819348b804906ed63aee17d83bce300e63e91cc11c54eface2f-Screenshot_2025-04-08_at_2.00.07_PM.png" />
</Frame>

### Agendamento e frequência

* **Start Showing**: Quando a mensagem se torna elegível
* **Stop Showing**: Defina data/hora de término ou "Show forever"

#### Com que frequência você quer mostrar esta mensagem?

* **Apenas uma vez** (padrão)
* **Toda vez** que os gatilhos forem atendidos
* **Múltiplas vezes** com lógica de repetição personalizada:

Exemplos:

* Mostrar **2 vezes** com intervalo de **1 hora**
* Mostrar **12 vezes** com intervalo de **30 dias**

<Frame caption="Exemplo mostrará a mensagem um total de 12 vezes a cada 30 dias.">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e66d013-Screenshot_2022-12-10_at_1.27.10_PM.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=0cfe8f5e92ea5d02aa5ae3c659b5538c" width="2100" height="756" data-path="images/docs/e66d013-Screenshot_2022-12-10_at_1.27.10_PM.png" />
</Frame>

***

## Como as mensagens no aplicativo são exibidas

Mensagens no aplicativo não são ativamente enviadas por push. Em vez disso, elas são puxadas no início do aplicativo com base no público. Depois exibidas com base na lógica de gatilho.

<Frame caption="Fluxo de lógica de exibição de mensagem no aplicativo">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e1ce302cd1350e6c9e5616937a8068329fe61619884cd62889cd1772fd29999d-1c688b0-lifecycle-of-an-in-app.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=7a7552973b2746cd2ffa36137e743675" width="2036" height="815" data-path="images/docs/e1ce302cd1350e6c9e5616937a8068329fe61619884cd62889cd1772fd29999d-1c688b0-lifecycle-of-an-in-app.png" />
</Frame>

A mensagem será exibida se:

1. O usuário atende aos critérios de público *antes* de uma **nova sessão** começar.

* Uma **nova sessão** começa quando o usuário abre seu aplicativo após ele ter estado em segundo plano ou fechado por pelo menos 30 segundos.
* Se os usuários tiverem o aplicativo aberto quando a mensagem entrar no ar ou entrarem no(s) segmento(s) durante a mesma sessão, eles precisarão colocar o aplicativo fora de foco (fechar ou colocar em segundo plano) por pelo menos 30 segundos para serem elegíveis para ver a mensagem.

2. As condições de gatilho são atendidas.
3. O horário e frequência agendados são válidos.

Se os critérios de segmento mudarem no meio da sessão, os usuários devem reabrir o aplicativo para ver a mensagem.

### Teste

Ao testar, é recomendado fazer o seguinte:

<Steps>
  <Step title="Adicione log detalhado ao seu aplicativo">
    Adicione nosso [método `setLogLevel` para `Verbose`](./mobile-sdk-reference#setloglevel) no seu aplicativo para obter logs mais detalhados.
  </Step>

  <Step title="Certifique-se de que sua assinatura está no segmento">
    Como explicado acima em [Como as mensagens no aplicativo são exibidas](#how-in-app-messages-are-shown), o usuário deve corresponder aos critérios de público **antes de uma nova sessão começar**.

    * Veja [Find Devices & Set Test Users](./test-users) se você não conhece o ID de assinatura do seu dispositivo.
    * Certifique-se de que a assinatura do seu dispositivo está no(s) segmento(s) incluído(s) e não no(s) segmento(s) excluído(s) se estiver sendo usado.
    * **Dica**: Você pode adicionar seu dispositivo como uma assinatura de teste e criar ou atualizar o segmento para incluir o filtro **Test Users**.
  </Step>

  <Step title="Certifique-se de que o aplicativo está fechado ou fora de foco por pelo menos 30 segundos">
    Isso garantirá que você está abrindo o aplicativo para criar uma nova sessão e ser elegível para a mensagem.
  </Step>

  <Step title="Verifique as condições de gatilho">
    Certifique-se de satisfazer os [gatilhos](#triggers) para que a mensagem seja exibida.
  </Step>

  <Step title="Verifique o agendamento e a frequência">
    * Certifique-se de que as datas "Start showing" e "Stop showing" estão definidas corretamente.
    * Defina ["Com que frequência você quer mostrar esta mensagem?"](#schedule-%26-frequency) para "Every time trigger conditions are satisfied" durante o teste.
  </Step>

  <Step title="Atualize a mensagem e certifique-se de que está ativa">
    * Assim que a mensagem estiver ativa, você pode abrir o aplicativo no seu dispositivo.
    * Você deve ver a mensagem exibida com base nas suas condições de gatilho.
  </Step>
</Steps>

#### Botão Test & Preview

Usar o botão **Test & Preview** enviará uma notificação push para o seu dispositivo de teste selecionado. Quando você clicar no push para abrir o aplicativo, a mensagem no aplicativo será exibida. Para usar este recurso, você deve:

* Certificar-se de que seu dispositivo é um [Test User](./test-users).
* Notificações push são **enviadas apenas para fins de teste**. O push não será enviado quando a mensagem estiver ativa.
* Você pode abrir o aplicativo e enviar a "test message". A mensagem no aplicativo será exibida.
* A substituição de tags não funciona para mensagens no aplicativo de teste.
* Se você não está vendo a mensagem, certifique-se de ter seguido os [passos de teste](#testing).
* Para receber uma mensagem no aplicativo de teste, seu dispositivo deve estar inscrito em push. IAMs de teste são acionadas por uma notificação push, então se sua assinatura tiver um token APNs inválido ou você não estiver inscrito em push, o teste não funcionará.

<Info>
  Need help?

  Chat with our Support team or email `support@onesignal.com`

  Please include:

  * Details of the issue you're experiencing and steps to reproduce if available
  * Your OneSignal App ID
  * The External ID or Subscription ID if applicable
  * The URL to the message you tested in the OneSignal Dashboard if applicable
  * Any relevant [logs or error messages](/docs/en/capturing-a-debug-log)

  We're happy to help!
</Info>

***

## Tutoriais e casos de uso

<Columns cols={2}>
  <Card title="Personalize mensagem no aplicativo" href="./personalization-properties-and-tags" arrow={true}>
    Guia passo a passo para personalizar sua mensagem no aplicativo com tags.
  </Card>

  <Card title="Segmente versões antigas do aplicativo" href="./app-version-update" arrow={true}>
    Solicite que os usuários atualizem seu aplicativo.
  </Card>

  <Card title="Prompts de avaliação da loja de aplicativos" href="./example-app-store-review" arrow={true}>
    Aumente suas avaliações com solicitações de avaliação oportunas.
  </Card>

  <Card title="Crie pesquisas de usuário" href="./example-create-a-survey" arrow={true}>
    Colete feedback dentro do seu aplicativo.
  </Card>

  <Card title="Prompts de permissão push" href="./prompt-for-push-permissions" arrow={true}>
    Melhore as taxas de opt-in de push.
  </Card>

  <Card title="Prompts de permissão de localização" href="./location-opt-in-prompt" arrow={true}>
    Peça aos usuários para habilitar o rastreamento de localização.
  </Card>

  <Card title="Crie um tutorial" href="./example-create-a-tutorial" arrow={true}>
    Configure um tutorial para ajudar os usuários a entender novos recursos do seu aplicativo!
  </Card>
</Columns>

***

## Análise

Acompanhe o desempenho e o engajamento das mensagens.

<Columns cols={2}>
  <Card title="Relatórios de mensagens in-app" icon="chart-line" href="./in-app-message-reports">
    Impressões, cliques, dispensas e métricas de conversão para mensagens in-app.
  </Card>

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

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

***

## Perguntas frequentes

### As mensagens no aplicativo exigem permissão de notificação push?

Não. As mensagens no aplicativo são entregues a todas as Assinaturas móveis no Segmento de destino, independentemente do status de aceitação de push. Elas são exibidas dentro do app durante uma sessão ativa.

### Por que minha mensagem no aplicativo não está aparecendo?

A causa mais comum é que a sessão do usuário não foi atualizada. O usuário deve fechar ou colocar o app em segundo plano por pelo menos 30 segundos e depois reabri-lo para iniciar uma nova sessão. Verifique também se o usuário está no Segmento de destino e se as condições de gatilho foram atendidas. Consulte [Testes](#testing) para uma lista de verificação completa.

### Posso enviar mensagens no aplicativo pela API?

Você deve criar mensagens no aplicativo no painel do OneSignal.

Você pode incluir a mensagem no aplicativo em [Journeys](./journeys-overview) e adicionar o usuário ao Journey por meio de [Eventos personalizados](./custom-events) acionados pela API.

### Como as mensagens no aplicativo diferem das notificações push?

As mensagens no aplicativo são exibidas dentro do seu app enquanto o usuário o está usando ativamente. As notificações push aparecem na bandeja de notificações do dispositivo e podem alcançar os usuários mesmo quando o app está fechado. As mensagens no aplicativo não exigem permissão de push e são obtidas no início da sessão, em vez de serem enviadas pelo servidor.

### Posso usar mensagens no aplicativo na web?

Não. As mensagens no aplicativo estão disponíveis apenas para aplicativos móveis com o SDK móvel do OneSignal instalado. Para web, considere usar [notificações push web](./web-push-setup) em vez disso.
