Pular para o conteúdo principal
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.
Mensagem in-app com um botão Avaliar Agora solicitando ao usuário que classifique o aplicativo

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:
Editor de mensagens in-app do OneSignal mostrando o campo Custom Action ID definido como review em um elemento de botão

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");
Painel do OneSignal mostrando o gatilho da mensagem in-app definido como ask_for_review igual a show

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.
  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 ao botão “Review Now” vinculando à listagem da sua loja de aplicativos:
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.
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. Adapte para sua plataforma — consulte RequestReviewAction para iOS ou a Google Play In-App Reviews API para Android.

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:
Configurações de agendamento de mensagem in-app do OneSignal mostrando 40 exibições totais com intervalos de 17 semanas
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 nesses usuários e crie um segmento para usar como público do seu prompt de avaliação.

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.

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.

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 para Flutter ou StoreReview para Expo. A mensagem in-app do OneSignal e o listener de clique funcionam da mesma forma independentemente do framework.

Ações de clique in-app

Configure ações de clique de URL, prompt de permissão, tag, resultado e personalizadas em elementos de mensagens in-app.

Tags

Marque usuários com base no comportamento para criar segmentos de mensagens direcionadas.