> ## 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 do SDK Amazon

> Guia passo a passo para integrar o SDK OneSignal em seu aplicativo Amazon Fire OS para notificações push e capacidades de mensagens no aplicativo.

## Visão geral

Este guia explica como integrar notificações push do OneSignal em um aplicativo Amazon Fire OS. Abrange tudo, desde instalação até configuração e gerenciamento de service worker.

***

## Requisitos

* Seu aplicativo deve ser distribuído na Amazon AppStore
* Dispositivo ou emulador Android 7.0+
* Aplicativo e plataforma OneSignal configurados

### Configure seu app e plataforma OneSignal

Configure seu app OneSignal com as plataformas que você suporta — Apple (APNs), Google (FCM), Huawei (HMS) e/ou Amazon (ADM).

<Note>
  Se sua organização já tem uma conta OneSignal, [peça para ser convidado](/docs/pt-BR/manage-team-members) à Organização. Caso contrário, [cadastre-se para uma conta gratuita](https://onesignal.com) para começar.
</Note>

<Accordion title="Instruções de configuração passo a passo" icon="circle-chevron-down">
  <Steps>
    <Step title="Crie ou selecione seu app">
      Crie um novo app clicando em **New App/Website**, ou adicione uma plataforma a um app existente em **Settings > Push & In-App**. Selecione a(s) plataforma(s) que você quer configurar e clique em **Next: Configure Your Platform**.

      <Frame caption="Configurando seu primeiro app OneSignal, Organização e canal.">
        <img src="https://mintcdn.com/onesignal/BK2J-grzBpDdh8NC/images/dashboard/new-app-org-channel.png?fit=max&auto=format&n=BK2J-grzBpDdh8NC&q=85&s=ee0045484152ed15095f619344aa0564" alt="Dashboard do OneSignal mostrando o fluxo de configuração de novo app com nome da organização, nome do app e seleção de canal" width="2592" height="1904" data-path="images/dashboard/new-app-org-channel.png" />
      </Frame>
    </Step>

    <Step title="Configure credenciais da plataforma">
      Insira as credenciais para sua plataforma:

      * **Android**: [Configure Credenciais Firebase](/docs/pt-BR/android-firebase-credentials)
      * **iOS**: [Token p8 (Recomendado)](/docs/pt-BR/ios-p8-token-based-connection-to-apns) ou [Certificado p12](/docs/pt-BR/ios-p12-generate-certificates)
      * **Amazon**: [Gere API Key](/docs/pt-BR/generate-an-amazon-api-key)
      * **Huawei**: [Autorize OneSignal](/docs/pt-BR/authorize-onesignal-to-send-huawei-push)

      Clique em **Save & Continue** após inserir suas credenciais.
    </Step>

    <Step title="Salve seu App ID e instale o SDK">
      Seu **App ID** é exibido na tela final. Copie e salve-o — você precisa dele ao inicializar o SDK. Selecione sua plataforma de SDK e siga o guia de configuração.

      <Frame caption="Salve seu App ID e convide membros adicionais da equipe.">
        <img src="https://mintcdn.com/onesignal/VypVshrFHTBZfEma/images/dashboard/app-id-and-team-invite.png?fit=max&auto=format&n=VypVshrFHTBZfEma&q=85&s=e1e2aab6cca7c4aa6b9a76eff362d5af" alt="Dashboard do OneSignal mostrando o App ID e a opção de convite de equipe após a configuração" width="2592" height="1904" data-path="images/dashboard/app-id-and-team-invite.png" />
      </Frame>
    </Step>
  </Steps>
</Accordion>

***

## Configuração

### Atualizar `AndroidManifest.xml`

Abra seu arquivo `AndroidManifest.xml` e adicione `xmlns:amazon="http://schemas.amazon.com/apk/res/android"` na tag manifest logo após a propriedade `xmlns:android`.

```xml xml theme={null}
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:amazon="http://schemas.amazon.com/apk/res/android"
    package="com.onesignal.example"
    android:versionCode="1"
    android:versionName="1.0" >
```

Adicione as seguintes permissões, substituindo `COM.YOUR.PACKAGE_NAME` pelo nome real do seu pacote:

```xml xml theme={null}
<uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />
<permission
  android:name="COM.YOUR.PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE"
  android:protectionLevel="signature"
/>
<uses-permission android:name="COM.YOUR.PACKAGE_NAME.permission.RECEIVE_ADM_MESSAGE" />
```

Configure os serviços e receptores ADM na tag `<application>`, substituindo `COM.YOUR.PACKAGE_NAME` pelo nome real do seu pacote:

```xml xml theme={null}
<application ....>
  <amazon:enable-feature android:name="com.amazon.device.messaging"
                         android:required="false"/>
  <service android:name="com.onesignal.notifications.services.ADMMessageHandler"
           android:exported="false" />
  <service android:name="com.onesignal.notifications.services.ADMMessageHandlerJob"
           android:permission="android.permission.BIND_JOB_SERVICE"
           android:exported="false" />
  <receiver android:name="com.onesignal.notifications.receivers.ADMMessageReceiver"
           android:permission="com.amazon.device.messaging.permission.SEND"
            android:exported="true" >
    <intent-filter>
      <action android:name="com.amazon.device.messaging.intent.REGISTRATION" />
      <action android:name="com.amazon.device.messaging.intent.RECEIVE" />
      <category android:name="COM.YOUR.PACKAGE_NAME" />
    </intent-filter>
  </receiver>

</application>
```

### Arquivo de chave API da Amazon

Coloque seu `api_key.txt` dentro de uma pasta `assets` na raiz do seu projeto Android.

<Frame caption="Chave API da Amazon">
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/77ac1b6-AmazonAndroidStudio_api_key.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=eb15b9b097ed28f2b89fcdf3295c9115" width="506" height="292" data-path="images/docs/77ac1b6-AmazonAndroidStudio_api_key.png" />
</Frame>

Para criar um `api_key.txt` para seu aplicativo, siga nosso guia [Gerar uma Chave API da Amazon](./generate-an-amazon-api-key).

Certifique-se de usar o mesmo keystore ao compilar seu APK como você fez no passo 2.4 no guia de Configuração da Amazon.

Certifique-se de que você não está compilando um aplicativo `debug` ao testar notificações push da Amazon. Deve ser um tipo `release`.

Envie o APK assinado para [Live App Testing](https://developer.amazon.com/docs/app-testing/live-app-testing-getting-started.html). Enviar um APK assinado é um requisito necessário para que o ADM funcione.

<Frame caption="Variante de Compilação">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a8d01f9-AndroidStudioBuildVariant.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=00e265069869aad54ac796aa405af681" width="387" height="75" data-path="images/docs/a8d01f9-AndroidStudioBuildVariant.png" />
</Frame>

***

## Testando a integração do OneSignal SDK

Este guia ajuda você a verificar se sua integração do OneSignal SDK está funcionando corretamente testando notificações push, registro de inscrição e mensagens in-app.

<Warning>
  Se você está testando com um emulador Android, ele deve iniciar com um cold boot.

  1. Vá para **Device Manager** no Android Studio.
  2. Selecione seu dispositivo emulador e clique em **Edit**.
  3. Vá para **Additional Settings** ou **More**.
  4. Defina a **Boot option** para **Cold Boot**.
  5. Salve as alterações e reinicie o emulador.
</Warning>

### Verifique inscrições mobile

<Steps>
  <Step title="Inicie seu app em um dispositivo de teste.">
    O prompt de permissão push nativo deve aparecer automaticamente se você adicionou o método `requestPermission` durante a inicialização.

    <Frame caption="Prompts de permissão push iOS e Android">
      <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a90c2cc443f5fe9e7c80368c680a16cf1ca6203f7b28a0a6eec212add8510f80-Untitled_design_11.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=96dbf224b3ae93b3d814712cdc5416ba" width="1920" height="1080" data-path="images/docs/a90c2cc443f5fe9e7c80368c680a16cf1ca6203f7b28a0a6eec212add8510f80-Untitled_design_11.png" />
    </Frame>
  </Step>

  <Step title="Verifique seu dashboard OneSignal">
    Antes de aceitar o prompt, verifique o dashboard OneSignal:

    * Vá para **Audience > Subscriptions**.
    * Você deve ver uma nova entrada com o status "Never Subscribed".

    <Frame caption="Dashboard mostrando inscrição com status 'Never Subscribed'">
      <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/f19fa5ada3572ce14447bb5639744e9da75cd7a3ab43ecc1a057f2ed92b38e6f-Screenshot_2025-03-16_at_14.55.39.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=b04ca3217e22155841b500a55c7f1511" width="1588" height="976" data-path="images/docs/f19fa5ada3572ce14447bb5639744e9da75cd7a3ab43ecc1a057f2ed92b38e6f-Screenshot_2025-03-16_at_14.55.39.png" />
    </Frame>
  </Step>

  <Step title="Retorne ao app e toque em Allow no prompt." />

  <Step title="Atualize a página de Subscription do dashboard OneSignal.">
    O status da inscrição deve agora mostrar **Subscribed**.

    <Frame caption="Dashboard mostrando inscrição com status 'Subscribed'">
      <img src="https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/85b0376cdcc6f93fb7b3895b18cd1788d2342776d7995909881e5c64dd40fb62-Screenshot_2025-03-16_at_15.57.34.png?fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=c6abec64d102b84e30f6c9c0327808ef" width="1588" height="976" data-path="images/docs/85b0376cdcc6f93fb7b3895b18cd1788d2342776d7995909881e5c64dd40fb62-Screenshot_2025-03-16_at_15.57.34.png" />
    </Frame>

    <Check>Você criou com sucesso uma [inscrição mobile](/docs/pt-BR/subscriptions).
    Inscrições mobile são criadas quando usuários abrem seu app pela primeira vez em um dispositivo ou se eles desinstalam e reinstalam seu app no mesmo dispositivo.</Check>
  </Step>
</Steps>

### Configure inscrições de teste

Inscrições de teste são úteis para testar uma notificação push antes de enviar uma mensagem.

<Steps>
  <Step title="Adicione a Test Users.">
    No dashboard, próximo à inscrição, clique no botão **Options (três pontos)** e selecione **Add to Test Users**.

    <Frame caption="Adicionando um dispositivo a Test Users">
      <img src="https://mintcdn.com/onesignal/NCUI56Tiw7V-s0dT/images/dashboard/add-to-test-subscriptions.png?fit=max&auto=format&n=NCUI56Tiw7V-s0dT&q=85&s=2455d4cd74ea4ad686f76730cd95bbaa" width="1188" height="742" data-path="images/dashboard/add-to-test-subscriptions.png" />
    </Frame>
  </Step>

  <Step title="Nomeie sua inscrição.">
    Nomeie a inscrição para que você possa identificar facilmente seu dispositivo depois na **aba Test Users**.
  </Step>

  <Step title="Crie um segmento de usuários de teste.">
    Vá para **Audience > Segments > New Segment**.
  </Step>

  <Step title="Nomeie o segmento.">
    Nomeie o segmento `Test Users` (o nome é importante porque será usado depois).
  </Step>

  <Step title="Adicione o filtro Test Users e clique em Create Segment.">
    <Frame caption="Criando um segmento 'Test Users' com o filtro Test Users">
      <img src="https://mintcdn.com/onesignal/NCUI56Tiw7V-s0dT/images/dashboard/create-test-users-segment.png?fit=max&auto=format&n=NCUI56Tiw7V-s0dT&q=85&s=91b8a021be6e83662854e68ec3e1da04" width="1188" height="742" data-path="images/dashboard/create-test-users-segment.png" />
    </Frame>

    <Check>Você criou com sucesso um segmento de usuários de teste.
    Agora podemos testar enviar mensagens para este dispositivo individual e grupos de usuários de teste.</Check>
  </Step>
</Steps>

### Envie push de teste via API

<Steps>
  <Step title="Obtenha seu App API Key e App ID.">
    No seu dashboard OneSignal, vá para **Settings > [Keys & IDs](/docs/pt-BR/keys-and-ids)**.
  </Step>

  <Step title="Atualize o código fornecido.">
    Substitua `YOUR_APP_API_KEY` e `YOUR_APP_ID` no código abaixo com suas chaves reais. Este código usa o segmento `Test Users` que criamos anteriormente.

    ```curl theme={null}
    curl -X \
    POST --url 'https://api.onesignal.com/notifications' \
     --header 'content-type: application/json; charset=utf-8' \
     --header 'authorization: Key YOUR_APP_API_KEY' \
     --data \
     '{
      "app_id": "YOUR_APP_ID",
      "target_channel": "push",
      "name": "Testing basic setup",
      "headings": {
      	"en": "👋"
      },
      "contents": {
        "en": "Hello world!"
      },
      "included_segments": [
        "Test Users"
      ],
      "ios_attachments": {
        "onesignal_logo": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
      },
      "big_picture": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
    }'
    ```
  </Step>

  <Step title="Execute o código.">
    Execute o código no seu terminal.
  </Step>

  <Step title="Verifique imagens e entrega confirmada.">
    Se todos os passos de configuração foram completados com sucesso, as inscrições de teste devem receber uma notificação com uma imagem incluída:

    <Frame caption="Notificação push com imagem no iOS e Android">
      <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e4e3e812eb6841ff11795a6ee0ea36eff483920ea9266733d6948ed34df3def3-Untitled_design_9.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=9bf6f4a73e38ec424b8cfec75a474a26" width="1200" height="800" data-path="images/docs/e4e3e812eb6841ff11795a6ee0ea36eff483920ea9266733d6948ed34df3def3-Untitled_design_9.png" />
    </Frame>

    <Info>Imagens aparecerão pequenas na visualização de notificação recolhida. Expanda a notificação para ver a imagem completa.</Info>
  </Step>

  <Step title="Verifique por entrega confirmada.">
    No seu dashboard, vá para **Delivery > Sent Messages**, depois clique na mensagem para ver as estatísticas.

    Você deve ver a estatística **confirmed**, significando que o dispositivo recebeu o push.
    <Check>Você enviou com sucesso uma notificação via nossa API para um segmento.</Check>

    <Warning>
      * Não recebeu imagem? Sua [Notification Service Extension](#ios-setup) pode estar faltando.
      * Sem entrega confirmada? Revise o guia de solução de problemas [aqui](/docs/pt-BR/confirmed-delivery#troubleshooting-confirmed-delivery).
      * Tendo problemas? Copie e cole a requisição da api e um log do início ao fim do lançamento do app em um arquivo `.txt`. Depois compartilhe ambos com `support@onesignal.com`.
    </Warning>
  </Step>
</Steps>

### Envie uma mensagem in-app

[Mensagens in-app](/docs/pt-BR/in-app-messages-setup) permitem que você se comunique com usuários enquanto eles estão usando seu app.

<Steps>
  <Step title="Feche ou coloque em background seu app no dispositivo.">
    Isso é porque usuários devem atender aos critérios de público in-app *antes* que uma nova sessão inicie. No OneSignal, uma nova sessão inicia quando o usuário abre seu app depois de ter estado em background ou fechado por pelo menos 30 segundos. Para mais detalhes, veja nosso guia sobre [como mensagens in-app são exibidas](/docs/pt-BR/in-app-messages-setup#how-are-iams-displayed%3F).
  </Step>

  <Step title="Crie uma mensagem in-app.">
    * No seu dashboard OneSignal, navegue para **Messages > In-App > New In-App**.
    * Encontre e selecione a mensagem **Welcome**.
    * Defina seu Público como o segmento **Test Users** que usamos anteriormente.

    <Frame caption="Direcionando o segmento 'Test Users' com uma mensagem in-app">
      <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/2979dfb2c6e0711669ebe737d78d975dcfed9f8117bdd68846255b9fc91e4771-Screenshot_2025-03-17_at_14.56.23.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=f705ee679a9248dab378305e15fa24bf" width="1410" height="752" data-path="images/docs/2979dfb2c6e0711669ebe737d78d975dcfed9f8117bdd68846255b9fc91e4771-Screenshot_2025-03-17_at_14.56.23.png" />
    </Frame>
  </Step>

  <Step title="Personalize o conteúdo da mensagem se desejar.">
    <Frame caption="Exemplo de personalização da mensagem Welcome in-app">
      <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/4c511ebdb04f33055556b9969bab8deee0d62154573cf0b41ffb25cc8431e7c0-Screenshot_2025-03-17_at_14.59.37.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=6134cc70e578d1055f770edcbad47efb" width="1646" height="1070" data-path="images/docs/4c511ebdb04f33055556b9969bab8deee0d62154573cf0b41ffb25cc8431e7c0-Screenshot_2025-03-17_at_14.59.37.png" />
    </Frame>
  </Step>

  <Step title="Defina Trigger como 'On app open'." />

  <Step title="Agende frequência.">
    Em **Schedule > How often do you want to show this message?** selecione **Every time trigger conditions are satisfied**.

    <Frame caption="Opções de agendamento de mensagem in-app">
      <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/c48ccaf33a74d5aa442c768a18b8e642024b89305aae665d613aee1d8bde43ec-Screenshot_2025-03-17_at_15.00.40.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=9a57431acffa267d22af4e19052fb5ee" width="1646" height="1070" data-path="images/docs/c48ccaf33a74d5aa442c768a18b8e642024b89305aae665d613aee1d8bde43ec-Screenshot_2025-03-17_at_15.00.40.png" />
    </Frame>
  </Step>

  <Step title="Torne a mensagem ativa.">
    Clique em **Make Message Live** para que fique disponível para seus Test Users cada vez que eles abrem o app.
  </Step>

  <Step title="Abra o app e veja a mensagem.">
    Depois que a mensagem in-app estiver ativa, abra seu app. Você deve vê-la exibida:

    <Frame caption="Mensagem in-app Welcome mostrada em dispositivos">
      <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a7ed4bb02be56900a65d2519e3d69f9c9b2c2a1c65fe740f07789e4ffe79cd67-Untitled_design_10.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=6f692b569706ca39df0b4cc2b70f3de2" width="1920" height="1080" data-path="images/docs/a7ed4bb02be56900a65d2519e3d69f9c9b2c2a1c65fe740f07789e4ffe79cd67-Untitled_design_10.png" />
    </Frame>

    <Warning>
      Não está vendo a mensagem?

      * Inicie uma nova sessão
        * Você deve fechar ou colocar em background o app por pelo menos 30 segundos antes de reabrir. Isso garante que uma nova sessão seja iniciada.
        * Para mais, veja [como mensagens in-app são exibidas](/docs/pt-BR/in-app-messages-setup#how-are-iams-displayed%3F).
      * Ainda no segmento `Test Users`?
        * Se você reinstalou ou trocou de dispositivo, adicione novamente o dispositivo a [Test Users](#configure-inscrições-de-teste) e confirme que ele faz parte do segmento Test Users.
      * Tendo problemas?
        * Siga [Obtendo um Debug Log](/docs/pt-BR/capturing-a-debug-log) enquanto reproduz os passos acima. Isso gerará logging adicional que você pode compartilhar com `support@onesignal.com` e nós ajudaremos a investigar o que está acontecendo.
    </Warning>
  </Step>
</Steps>

<Check>
  Você configurou com sucesso o OneSignal SDK e aprendeu conceitos importantes como:

  * Coletar [Inscrições](/docs/pt-BR/subscriptions), configurar [inscrições de teste](/docs/pt-BR/find-set-test-subscriptions) e criar [Segmentos](/docs/pt-BR/segmentation).
  * Enviar [Push](/docs/pt-BR/push) com imagens e [Entrega Confirmada](/docs/pt-BR/confirmed-delivery) usando Segmentos e nossa API [Create message](/reference/create-message).
  * Enviar [Mensagens in-app](/docs/pt-BR/in-app-messages-setup).

  Continue com este guia para identificar usuários no seu app e configurar recursos adicionais.
</Check>

***

## Identificação de usuário

Anteriormente, demonstramos como criar [Inscrições](/docs/pt-BR/subscriptions) móveis. Agora vamos expandir para identificar [Usuários](/docs/pt-BR/users) através de todas as suas inscrições (incluindo push, email e SMS) usando o OneSignal SDK. Cobriremos External IDs, tags, inscrições multicanal, privacidade e rastreamento de eventos para ajudá-lo a unificar e engajar usuários através de plataformas.

### Atribua External ID

Use um External ID para identificar usuários consistentemente através de dispositivos, endereços de email e números de telefone usando o identificador de usuário do seu backend. Isso garante que suas mensagens permaneçam unificadas através de canais e sistemas de terceiros (especialmente importante para [Integrações](/docs/pt-BR/integrations)).

Defina o External ID com o [método `login`](/docs/pt-BR/mobile-sdk-reference#login-external-id) do nosso SDK cada vez que eles são identificados pelo seu app.

<Note>
  OneSignal gera IDs únicos somente leitura para inscrições (Subscription ID) e usuários (OneSignal ID).

  À medida que usuários baixam seu app em diferentes dispositivos, se inscrevem no seu website e/ou fornecem endereços de email e números de telefone fora do seu app, novas inscrições serão criadas.

  Definir o External ID via nosso SDK é altamente recomendado para identificar usuários através de todas as suas inscrições, independentemente de como elas são criadas.
</Note>

### Adicione Tags

[Tags](/docs/pt-BR/add-user-data-tags) são pares chave-valor de dados string que você pode usar para armazenar propriedades de usuário (como `username`, `role` ou preferências) e eventos (como `purchase_date`, `game_level` ou interações de usuário). Tags potencializam [Personalização de Mensagem](/docs/pt-BR/message-personalization) avançada e [Segmentação](/docs/pt-BR/segmentation) permitindo casos de uso mais avançados.

Defina tags com os [métodos `addTag` e `addTags`](/docs/pt-BR/mobile-sdk-reference#data-tags) do nosso SDK conforme eventos ocorrem no seu app.

Neste exemplo, o usuário alcançou o nível 6 identificável pela tag chamada `current_level` definida com um valor de `6`.

<Frame caption="Um perfil de usuário no OneSignal com uma tag chamada &#x22;current_level&#x22; definida como &#x22;6&#x22;">
  <img src="https://mintcdn.com/onesignal/4HyuQPBpu-4xjmQC/images/docs/d4674261847231079fecc176ba88065409c90943e3854b9df200457325a0aed4-Screenshot_2025-03-18_at_14.47.25.png?fit=max&auto=format&n=4HyuQPBpu-4xjmQC&q=85&s=91083bf83a4c03ea40d485b23f072259" width="1380" height="941" data-path="images/docs/d4674261847231079fecc176ba88065409c90943e3854b9df200457325a0aed4-Screenshot_2025-03-18_at_14.47.25.png" />
</Frame>

Podemos criar um segmento de usuários que têm um nível entre 5 e 10, e usar isso para enviar mensagens direcionadas e personalizadas:

<Frame caption="Editor de segmento mostrando um segmento direcionado a usuários com um valor current_level maior que 4 e menor que 10">
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/300d36b632a6f6d7017780457bbe2610b71767fd0db093c7611e59714dcbda5b-Screenshot_2025-03-18_at_14.49.56.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=b84ab0d2c6eedbd6d4e7a2bf15afe103" width="1380" height="941" data-path="images/docs/300d36b632a6f6d7017780457bbe2610b71767fd0db093c7611e59714dcbda5b-Screenshot_2025-03-18_at_14.49.56.png" />
</Frame>

<br />

<Frame caption="Captura de tela mostrando uma notificação push direcionada ao segmento Nível 5-10 com uma mensagem personalizada">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/97e09b42d25c6d3f4c7cb0a6fff4dfb8893cbb4b283f7ff1f77977c33113319c-Screenshot_2025-03-18_at_14.55.47.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=c7839b12057d65a12a4eaddce6e2c11f" width="2764" height="2286" data-path="images/docs/97e09b42d25c6d3f4c7cb0a6fff4dfb8893cbb4b283f7ff1f77977c33113319c-Screenshot_2025-03-18_at_14.55.47.png" />
</Frame>

<br />

<Frame caption="A notificação push é recebida em um dispositivo iOS e Android com o conteúdo personalizado">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/3bf1810580f30984745017056383f151b874513b6bfb1445fb1016e5c9a79e82-Untitled_design_12.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=94b6e9eeeb5516285a256a72063a0906" width="1920" height="1080" data-path="images/docs/3bf1810580f30984745017056383f151b874513b6bfb1445fb1016e5c9a79e82-Untitled_design_12.png" />
</Frame>

### Adicione inscrições de email e/ou SMS

Anteriormente vimos como nosso SDK cria inscrições móveis para enviar push e mensagens in-app. Você também pode alcançar usuários através de canais de email e SMS criando as inscrições correspondentes.

* Use o [método `addEmail`](/docs/pt-BR/mobile-sdk-reference#addemail-%2C-removeemail) para criar inscrições de email.
* Use o [método `addSms`](/docs/pt-BR/mobile-sdk-reference#addsms-%2C-removesms) para criar inscrições de SMS.

Se o endereço de email e/ou número de telefone já existem no app OneSignal, o SDK adicionará ao usuário existente, não criará duplicatas.

Você pode visualizar usuários unificados via **Audience > Users** no dashboard ou com a [API View user](/reference/view-user).

<Frame caption="Um perfil de usuário com inscrições push, email e SMS unificadas por External ID">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b1cf9999d41da6e4ce333e1126612529b85eac47447bb0b434418d082f595acd-Screenshot_2025-03-18_at_14.43.46.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=7c3885b66e44e097fa0ed7c47f27c911" width="1506" height="848" data-path="images/docs/b1cf9999d41da6e4ce333e1126612529b85eac47447bb0b434418d082f595acd-Screenshot_2025-03-18_at_14.43.46.png" />
</Frame>

<Note>
  Melhores práticas para comunicação multicanal

  * Obtenha consentimento explícito antes de adicionar inscrições de email ou SMS.
  * Explique os benefícios de cada canal de comunicação aos usuários.
  * Forneça preferências de canal para que usuários possam selecionar quais canais eles preferem.
</Note>

***

### Privacidade e consentimento do usuário

Para controlar quando OneSignal coleta dados de usuário, use os métodos de controle de consentimento do SDK:

* [`setConsentRequired(true)`](/docs/pt-BR/mobile-sdk-reference#setconsentrequired): Previne coleta de dados até que consentimento seja dado.
* [`setConsentGiven(true)`](/docs/pt-BR/mobile-sdk-reference#setconsentgiven): Habilita coleta de dados uma vez que consentimento é concedido.

Veja nossos documentos de Privacidade e segurança para mais sobre:

* [Dados coletados pelo SDK](/docs/pt-BR/data-collected-by-the-onesignal-sdk)
* [Tratamento de dados pessoais](/docs/pt-BR/handling-personal-data)

***

## Solicite permissões push

Em vez de chamar `requestPermission()` imediatamente ao abrir o app, adote uma abordagem mais estratégica. Use uma mensagem in-app para explicar o valor das notificações push antes de solicitar permissão.

Para melhores práticas e detalhes de implementação, veja nosso guia [Solicite permissões push](/docs/pt-BR/prompt-for-push-permissions).

***

## Escute eventos de push, usuário e in-app

Use listeners do SDK para reagir a ações de usuário e mudanças de estado.

O SDK fornece vários event listeners para você conectar. Veja nosso [guia de referência do SDK](/docs/pt-BR/mobile-sdk-reference) para mais detalhes.

### Eventos de notificação push

* [`addClickListener()`](/docs/pt-BR/mobile-sdk-reference#addclicklistener-push): Detecte quando uma notificação é tocada. Útil para [Deep Linking](/docs/pt-BR/deep-linking).
* [`addForegroundLifecycleListener()`](/docs/pt-BR/mobile-sdk-reference#addforegroundlifecyclelistener-push): Controle como notificações se comportam em foreground.

Para personalização completa, veja [Mobile Service Extensions](/docs/pt-BR/service-extensions).

### Mudanças de estado do usuário

* [`addObserver()` para estado do usuário](/docs/pt-BR/mobile-sdk-reference#addobserver-user-state): Detecte quando o External ID é definido.
* [`addPermissionObserver()`](/docs/pt-BR/mobile-sdk-reference#addpermissionobserver-push): Rastreie a interação específica do usuário com o prompt de permissão push nativo.
* [`addObserver()` para inscrição push](/docs/pt-BR/mobile-sdk-reference#addobserver-push-subscription-changes): Rastreie quando o status de inscrição push muda.

### Eventos de mensagem in-app

* [`addClickListener()`](/docs/pt-BR/mobile-sdk-reference#addclicklistener-in-app): Lide com ações de clique in-app. Ideal para deep linking ou rastreamento de eventos.
* [`addLifecycleListener()`](/docs/pt-BR/mobile-sdk-reference#addclicklistener-in-app): Rastreie o ciclo de vida completo de mensagens in-app (exibida, clicada, descartada, etc.).

***

## Configuração avançada e capacidades

Explore mais capacidades para melhorar sua integração:

* [🔁 Migrando para OneSignal de outro serviço](/docs/pt-BR/migrating-to-onesignal)
* [🌍 Rastreamento de localização](/docs/pt-BR/mobile-sdk-reference#location)
* [🔗 Deep Linking](/docs/pt-BR/deep-linking)
* [🔌 Integrações](/docs/pt-BR/integrations)
* [🧩 Mobile Service Extensions](/docs/pt-BR/service-extensions)
* [🛎️ Botões de ação](/docs/pt-BR/action-buttons)
* [🌐 Mensagens multilíngues](/docs/pt-BR/multi-language-messaging)
* [🛡️ Verificação de Identidade](/docs/pt-BR/identity-verification)
* [📊 Custom Outcomes](/docs/pt-BR/custom-outcomes)
* [📲 Live Activities](/docs/pt-BR/live-activities)

### Configuração e referência do Mobile SDK

Certifique-se de que você habilitou todos os recursos principais revisando o guia [Configuração de mobile push](/docs/pt-BR/mobile-push-setup).

Para detalhes completos sobre métodos disponíveis e opções de configuração, visite a [referência do Mobile SDK](/docs/pt-BR/mobile-sdk-reference).

<Check>Parabéns! Você completou com sucesso o guia de configuração do Mobile SDK.</Check>

***

<Info>
  Precisa de ajuda?

  Converse com nossa equipe de Suporte ou envie email para `support@onesignal.com`

  Por favor inclua:

  * Detalhes do problema que você está enfrentando e passos para reproduzir se disponível
  * Seu OneSignal App ID
  * O External ID ou Subscription ID se aplicável
  * A URL para a mensagem que você testou no Dashboard OneSignal se aplicável
  * Quaisquer [logs ou mensagens de erro](/docs/pt-BR/capturing-a-debug-log) relevantes

  Estamos felizes em ajudar!
</Info>

***
