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

# Obtenha mais avaliações na loja de aplicativos

> Solicite aos usuários uma avaliação na App Store ou Google Play usando mensagens in-app do OneSignal com prompts de avaliação nativos do iOS e Android, reduzindo o atrito e aumentando as classificações.

Use as mensagens in-app do OneSignal para solicitar aos usuários uma avaliação na App Store ou Google Play sem sair do aplicativo. Este tutorial cobre abordagens sem código e que requerem código.

<Frame caption="Exemplo de mensagem in-app solicitando ao usuário que deixe uma avaliação na App Store">
  <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8c81fd3f2381baae2ac9176c24fb1e5684df33e991e0726c64a459ed798c7148-Screenshot_2024-11-12_at_12.00.20_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=df73e58df4a1b6610f1cfffd84bd25d4" alt="Mensagem in-app com um botão Avaliar Agora solicitando ao usuário que classifique o aplicativo" width="1016" height="617" data-path="images/docs/8c81fd3f2381baae2ac9176c24fb1e5684df33e991e0726c64a459ed798c7148-Screenshot_2024-11-12_at_12.00.20_PM.png" />
</Frame>

## Configuração

### 1. Criar a mensagem

Navegue até **Messages > In-App > New In-App** ou abra o modelo de Avaliação da App Store existente.

Adicione um Action ID ao seu botão de avaliação:

<Frame caption="Definindo um Custom Action ID no botão Avaliar Agora">
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/293839ca5534557c35929fdaa6eb5581c7218da770f2601bd3e7d819164430b8-Screenshot_2024-11-12_at_12.13.39_PM.png?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=c88fe293c4f381dd0e44c686c54af348" alt="Editor de mensagens in-app do OneSignal mostrando o campo Custom Action ID definido como review em um elemento de botão" width="1211" height="685" data-path="images/docs/293839ca5534557c35929fdaa6eb5581c7218da770f2601bd3e7d819164430b8-Screenshot_2024-11-12_at_12.13.39_PM.png" />
</Frame>

### 2. Adicionar o gatilho

O gatilho controla quando a mensagem é exibida. Você pode usar uma abordagem sem código ou baseada em código.

**Sem código**: Configure o Público para segmentar os usuários dos quais deseja avaliações — por exemplo, usuários com muitas sessões que usaram o aplicativo por muito tempo.

**Baseado em código**: Use o método `addTrigger` do SDK para exibir a mensagem programaticamente com base nas ações do usuário. Evite mostrar o prompt quando o usuário estiver no meio de uma tarefa importante.

Neste exemplo, a chave **In-App Trigger** é `ask_for_review` com um valor de `show`. A chave e o valor podem ser qualquer coisa, mas devem corresponder ao que você passa para `addTrigger`:

`OneSignal.InAppMessages.addTrigger("ask_for_review", "show");`

<Frame caption="Chave-valor do gatilho in-app correspondendo à chamada do método addTrigger">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/459e14e99af52793454464b3e52ddc518f7a8c73021c16aae24b3389532c012a-Screenshot_2024-11-12_at_12.24.08_PM.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=0a50f0c58f47de1b1ad7d478fea5ea77" alt="Painel do OneSignal mostrando o gatilho da mensagem in-app definido como ask_for_review igual a show" width="825" height="236" data-path="images/docs/459e14e99af52793454464b3e52ddc518f7a8c73021c16aae24b3389532c012a-Screenshot_2024-11-12_at_12.24.08_PM.png" />
</Frame>

### 3. Lidar com a solicitação de avaliação da loja de aplicativos

Você pode direcionar os usuários a deixar uma avaliação com uma abordagem sem código ou baseada em código.

<Accordion title="Opção sem código">
  1. Atualize o segmento para usar o filtro "Device Type is Android".
  2. Duplique a mensagem in-app e atualize o segmento da cópia para usar o filtro "Device Type is iOS". Você deve ter duas mensagens in-app com dois segmentos separados.
  3. Adicione uma [URL Click Action](./iam-click-actions) ao botão "Review Now" vinculando à listagem da sua loja de aplicativos:
     * **Android**: `https://play.google.com/store/apps/details?id=YOUR_PACKAGE_NAME` — consulte [Linking to Google Play](https://developer.android.com/distribute/marketing-tools/linking-to-google-play.html)
     * **iOS**: `https://apps.apple.com/app/idYOUR_APP_STORE_ID?action=write-review` — consulte [Requesting App Store Reviews](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews)
</Accordion>

<Accordion title="Opção baseada em código">
  Use o método `InAppMessages.addClickListener` do SDK para detectar quando o botão de avaliação é clicado (verificando o Action ID), e então chame a API de avaliação nativa do iOS ou Android para apresentar o modal de classificação.

  ```dart theme={null}
  OneSignal.InAppMessages.addClickListener((event) async {
    if (event.result.actionId == 'review') {
      if (await inAppReview.isAvailable()) {
        inAppReview.requestReview();
      }
    }
  });
  ```

  Este exemplo usa o pacote Flutter [in\_app\_review](https://pub.dev/packages/in_app_review). Adapte para sua plataforma — consulte [RequestReviewAction](https://developer.apple.com/documentation/storekit/requestreviewaction) para iOS ou a [Google Play In-App Reviews API](https://developer.android.com/guide/playcore/in-app-review) para Android.
</Accordion>

### 4. Agendar e habilitar

A Apple exibe o prompt de avaliação nativo no máximo três vezes dentro de um período de 365 dias. O Google Play impõe uma cota com limite de tempo, mas não publica o limite exato — chamar a API mais de uma vez em um curto período (menos de um mês) pode não exibir um diálogo.

Para se manter dentro desses limites, defina o agendamento do seu in-app para exibir uma vez a cada 17 semanas:

<Frame caption="Agendamento in-app definido para exibir até 40 vezes no total, espaçadas 17 semanas uma da outra">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5c63bb89120c9fcffa5c3836f3f13de2db38952bc61c56d2f8d18c0bf450986f-Screenshot_2024-11-19_at_11.49.26_AM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=690b7ecb27ab452252390d5511f6f821" alt="Configurações de agendamento de mensagem in-app do OneSignal mostrando 40 exibições totais com intervalos de 17 semanas" width="898" height="187" data-path="images/docs/5c63bb89120c9fcffa5c3836f3f13de2db38952bc61c56d2f8d18c0bf450986f-Screenshot_2024-11-19_at_11.49.26_AM.png" />
</Frame>

<Tip>
  Para aumentar as avaliações positivas, segmente usuários que tiveram uma ótima experiência — por exemplo, usuários com muitas sessões ou aqueles que deram feedback positivo por meio de uma mensagem in-app anterior. Defina [tags](./add-user-data-tags) nesses usuários e crie um segmento para usar como público do seu prompt de avaliação.
</Tip>

***

## FAQ

### Com que frequência o prompt de avaliação nativo da Apple pode aparecer?

A Apple exibe o prompt `RequestReviewAction` no máximo três vezes por período de 365 dias por usuário. Isso é imposto pelo sistema — seu aplicativo não precisa rastrear a contagem. Consulte [Requesting App Store Reviews](https://developer.apple.com/documentation/storekit/requesting_app_store_reviews).

### Com que frequência o prompt de avaliação nativo do Google pode aparecer?

O Google Play impõe uma cota, mas não publica o limite exato. Chamar `launchReviewFlow` mais de uma vez em um curto período (menos de um mês) pode não exibir o diálogo. A cota é um detalhe de implementação que o Google pode alterar sem aviso. Consulte [In-App Reviews quotas](https://developer.android.com/guide/playcore/in-app-review#quotas).

### Posso usar isso com aplicativos não nativos (Flutter, React Native, Expo)?

Sim. Use um plugin específico da plataforma para chamar a API de avaliação nativa — por exemplo, [in\_app\_review](https://pub.dev/packages/in_app_review) para Flutter ou [StoreReview](https://docs.expo.dev/versions/latest/sdk/storereview/) para Expo. A mensagem in-app do OneSignal e o listener de clique funcionam da mesma forma independentemente do framework.

***

<Columns cols={2}>
  <Card title="Ações de clique in-app" icon="hand-pointer" href="./iam-click-actions">
    Configure ações de clique de URL, prompt de permissão, tag, resultado e personalizadas em elementos de mensagens in-app.
  </Card>

  <Card title="Tags" icon="tags" href="./add-user-data-tags">
    Marque usuários com base no comportamento para criar segmentos de mensagens direcionadas.
  </Card>
</Columns>
